Endlosschleife ??
lima-city → Forum → Programmiersprachen → C/C++ und D
buchstabe
code
dank
eingabe
eingebaute fehlermeldung
eingegebene zahlen
erneut eingabe
erstes projekt
falsche eingabe
fehler
frage
funktionieren
melde
puffer
versuchen
-
So. Mein erstes Projekt mit C++, hier soll in einer Konsolenanwendung eingegebene Zahlen abgespeichert werden, es funktioniert auch so weit. Wenn man aber einen Buchstaben eingibt, wird dieser zwar nicht abgespeichert, aber die eingebaute Fehlermeldung wird mir unendlichmal ausgeworfen.
if (cin.fail()) { cin.clear(); cout << "Fehler bei der Eingabe, versuchen Sie es erneut." << endl << endl; } else { cin >> eingabe; }
FRAGE: Warum?
Beitrag zuletzt geändert: 14.4.2009 17:43:09 von toolz -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du reparierst zwar mit cin.clear() deinen Eingabestream, aber die falsche Eingabe steht danach immer noch im Puffer und cin.fail() wird wieder einen Fehler melden.
Schreib nach dem cin.clear() mal ein cin.ignore(std::numeric_limits<int>::max(),'\n'); um den Puffer zu leeren, dann sollte es funktionieren.
Beitrag zuletzt geändert: 14.4.2009 17:52:00 von kochmarkus -
Danke, das funktioniert
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage