scanf - Problem
-
Hi, ich habe ein kleines Problem mit der Funktion Scanf...
Die Schleife soll solange wiederholt werden, bis eine korrekte Eingabe erfolgt ist.
Heisst wenn ich eine Integer-Zahl einlesen will, aber ein Buchstabe eingebe, soll das Programm die Eingabe Wiederholen.
Hier der Code:int wert; while(scanf("%d",&wert)<=0) printf("\nFehlerhaft! Wiederholen : ");
scanf gibt ja den Wert 1 zurück, wenn die Eingabe korrekt ist und den Wert 0 zurück, falls sie inkorrekt ist. Mein Problem liegt darin, dass ich keine neue Eingabe machen kann, es erscheint die ganze Zeit auf dem Bildschirm nur:
*
Fehlerhaft! Wiederholen :
Fehlerhaft! Wiederholen :
Fehlerhaft! Wiederholen :
...
*
Vielen Dank
Frerk
-
nach jedem scanf ein fflush(stdin); machen
-
Danke
-
@stern: Dummkopf!
-
:p
-
kenner_der_dummköpfe schrieb:
@stern: Dummkopf!
++
@nuke: vergiss diesen Tipp, das ist genauso nützlich wie "Lila Kühe fliegen". fflush(stdin) ist ein undefiniertes Verhalten!
-
auf die finger hauen OK. aber dann bitte auch http://www.c-plusplus.net/forum/viewtopic-var-p-is-1146014.html#1146014
-
c.rackwitz schrieb:
auf die finger hauen OK. aber dann bitte auch http://www.c-plusplus.net/forum/viewtopic-var-p-is-1146014.html#1146014
ich wusste, dass es irgendwo einen Beitrag dazu gab, wusste aber nicht mehr wonach ich genau suchen sollte