проверка целочисленного ввода, как?
У меня проблема с тем, что должно быть невероятно простым кодом. Я хочу взять целое число от 1 до 3 с проверкой ошибок. Он отлично работает для проверки чисел, которые являются слишком большими или слишком маленькими, но когда вводится комбинация букв и цифр, она застревает в бесконечном цикле. Предложения?
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
int input;
cout << "\nPlease enter a number from 1 to 3:" << endl;
cout << "-> ";
cin >> input;
while(input< 1 || input> 3){
cout << "\n---------------------------------------" << endl;
cout << "\n[!] The number you entered was invalid." << endl;
cout << "\nPlease re-enter a number from 1 to 3" << endl;
cout << "-> ";
cin >> input;
}
cout << "You chose " << input << endl;
}