Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

cin.good() в С++

Гуляев Олег Ученик (167), закрыт 6 лет назад
такая проблемма
есть код
int x;
cin>>x;
cin.good();
cin>>x;

если при первом вводе ввести значение не инта, то cin.good() возвратит 0 и дальнейшее cin>>x и любые cin работать не будут....
cin.clear() результата не дал.

чё делать то. а вообще я аытаюсь обезопасить переменную х от некоректного ввода.
Лучший ответ
modern Иванов Мыслитель (9759) 14 лет назад
Ф-ция good() возвращает bool.Если ввод или вывод произошли без ошибок, возвращает true.
По-этому нужно так

int x ;
cin > > x;
if ( cin . good ( ) = = true)
cout << x < < endl ;
else
cout < < "ERROR" < < endl;
Остальные ответы
vinnitu Мыслитель (5701) 14 лет назад
int x;
if (cin >> x)
{
//тут ввод без ошибок
}
Похожие вопросы