
5,21 |
Подсчитать площадь треугольника по введенным с клавиатуры основанию и высоте. Реализовать контроль ошибки ввода, вывод сообщения об ошибке. Ошибка: нулевые и отрицательные значения. |
Ввести число от 0 до 99. Определить количество цифр в числе, выводить надпись «одна цифра», «две цифры». |
#include <iostream>
#include <clocale>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
cout << "Калькулятор площади треугольника по длине его высоты и основания.\r\n\r\n";
int base = 0;
int height = 0;
while (true)
{
cout << "Введите ненулевую и неотрицательную длину основания треугольника:";
cin >> base;
if (base <= 0)
{
cout << "Длина основания равна нулю или отрицательна";
cout << "\r\n";
}
else
{
break;
}
}
while (true)
{
cout << "Введите ненулевую и неотрицательную длину высоты треугольника:";
cin >> height;
if (height <= 0)
{
cout << "Длина высоты равна нулю или отрицательна";
cout << "\r\n";
}
else
{
break;
}
}
int area = height * base / 2;
printf("Площадь треугольника с высотой %i и основанием %i равна %i", height, base, area);
}
#include <iostream>
#include <clocale>
#include <string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
printf("Счетчик цифр в числе.\r\n");
string input;
while (true)
{
bool err = 0;
printf("Введите число от 0 до 99:");
cin >> input;
for (int i = input.length() - 1; i > 0; i--)
{
if (!isdigit(input[i]))
{
printf("Вы ввели не число.\r\n");
err = 1;
break;
}
}
int number = atoi(input.c_str());
if(number > 99 || number < 0)
{
printf("Введённое число больше 99 или меньше 0\r\n");
err = 1;
}
if(!err) break;
}
int length = input.length();
if (input[0] == '-') length--;
if (length == 1)
{
printf("одна цифра");
}
else
{
printf("две цифры");
}
}