Ganzzahleingabevalidierung, wie?

Ich habe ein Problem mit dem eigentlich unglaublich einfachen Code. Ich möchte eine ganze Zahl zwischen 1 und 3 mit Fehlerprüfung aufnehmen. Es funktioniert gut, um nach Zahlen zu suchen, die zu groß oder zu klein sind, aber wenn eine Alpha / Zahlen-Kombination eingegeben wird, bleibt es in einer Endlosschleife stecken. Vorschläge?

#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;
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage