Лейла ИмадаеваУченик (119)
6 лет назад
Почему многих тянет проверять корректный ввод. корректный ввод по умолчанию не вызовет сбой. проверять нужно наличие некорректного ввода. и там уже либо зациклить повторный ввод либо выходить из программы)))
while(!(cin>>a)) // пока ввод не корректный
{
cin.clear(); // восстанавливаем поток, делаем его как будто безошибочным
cin.ignor(cin.rdbuf()->in_avail(), '\n'); // перемещаем указатель за поток, то есть игнорим его включая перевод на новую строку
a = cin.sync(); // переменную а обнуляем
}