Fehler abfangen bei Eingabe mit cin
-
Hallo,
man soll nur Zahlen eingeben koennen und wenn ein Zeichen bzw. eine Zeichenkette eingeben wird soll das Programm dies abfangen und die Variabel(temp) auf den Wert 999 setzen leider klappt das nicht und nach einer falschen eingabe von einem Zeichen dreht das Programm total durch und man kann nichtmal mehr eine Zahl eingeben. Diese Funktion wird mehrmals in einem while Block aufgerufen und nach der ersten falschen eingabe kann man keine richtige Eingabe mehr tätigen also eine Zahl eingeben, wie kann man dies beheben?
int inputNumber(string str) { int zahl; cout << str; try { cin >> zahl; throw "Keine Zahl eingegeben.\n"; } catch(const char *exc) { cout << exc; zahl = 999; } return zahl; }
-
if(cin>>zahl)
cout<<"eingabe erfolgreich";