Мой код в основном работает, за исключением одной незначительной проблемы. Хотя он должен принимать только целые числа, он также принимает пользовательский ввод, начинающийся с int, например, 6abc
. Я видел исправление для этого здесь , но оно изменило тип ввода на строку и добавило намного больше строк кода. Мне интересно, есть ли более простой способ исправить это:
int ID;
cout << "Student ID: ";
// error check for integer IDs
while( !( cin >> ID )) {
cout << "Must input an integer ID." << endl ;
cin.clear() ;
cin.ignore( 123, '\n' ) ;
}