scanf und parameter
-
Guten morgen erst mal alle miteinander.
I hab da gread ein kleines Problem und komm da net weiter. Hoffe ihr könnt mir da weiter helfen. Und zwar möchte ich mit scanf Zahlenwerte einlesen.
Das funktioniert soweit ja auch ohne Probleme. Aber ich möchte ne Fehlermeldung ausgeben, wenn jemand eine ungültige Eingabe macht, d.h. wenn
jemand statt z.B. ner 1 ein aberhallo eintippt.
-
Suche und du wirst finden
-
sehr komisch wirklich, sehr komisch, bist ja n richtiger witzbold.
-
#include <stdio.h> void eat_line(void) { int c; while ((c = getchar()) != EOF && c != '\n') ; } int main( void ) { int num, f; printf("Geben Sie bitte eine Zahl ein: "); while ((f = scanf("%d", &num)) != EOF && f != 1) { printf("Fehler\nGeben Sie bitte eine Zahl ein: "); eat_line(); } if (f != EOF) { printf( "Ihre Zahl: %d\n", num ); /* ... */ } return 0; }
[ Dieser Beitrag wurde am 22.05.2003 um 17:20 Uhr von mady editiert. ]
-
scanf ist ungeeignet zum einlesen
lies besser mit fgets die ganze zeile ein - dann kannst du dir dieneinzelnen teile mit sscanf rauspicken - und ne fehlerbehandlung ist dann auch einfach zu bauen
-
Cool, dankeschön.