В настоящее время я работаю над программой на c ++ и хочу проверить, является ли введенный пользователем ввод действительным. В настоящее время мой код работает, если пользователь вводит правильный ввод или если пользователь вводит небольшое неверное число, моя программа скажет пользователю, что ввод недействителен. Теперь моя проблема в том, что когда пользователь вводит несколько символов / букв или большое число, содержащее 9 или более цифр, моя программа входит в бесконечный цикл, сообщая им сообщение об ошибке. Вот мой код:
//for (;;)
while (flag== false)
{
cin >> Input;
if (Input <= choice.size()-1)
{
flag = true;
// break;
}
else
{
cerr << "Input <" << Input << "> is Invalid, Please Choose a Valid Option\n";
userInput = 0;
}
}
Как вы можете видеть, я также пытался выполнить цикл for infinate, но он дает мне те же результаты.
В моем коде я печатаю вектор на экран. В основном пользователь выбирает значение вектора, чтобы использовать его.
Я открыт для любых предложений. Спасибо