Страница 1 из 1

Do...while ошибка

Добавлено: 20 дек 2017, 17:50
qix
Всем привет,написал программу по данному условию: Подсчитывать сумму четных чисел, среди целых чисел, вводимых пользователем, пока не будет введен 0.

Вот как я сделал ее,однако если я введу например число 2.5,то оно выдаст сумму равно 2,как написать код так,что бы при вводе дробного числа выдавалась ошибка.

Код: Выделить всё

#include<iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
int main j = 0, k;
cout << "Введите числа:";
do{
cin >> k;
if (k % 2 == 0) 
{
if (k - (int)k == 0) {
j += k;
}
else(cout << "Число не целое"<<endl);
}
else(cout << "Число не четное"<<endl);
} while (k != 0);
cout << "Сумма четных, целых чисел равна:"<<j<<endl;
}

Re: Do...while ошибка

Добавлено: 20 дек 2017, 18:42
Romeo
Читать, как строчку и проводить ручную валидацию. Стандартная библиотека не обеспечивает валидацию, а лишь читает до первого не ошибочного символа.