Zahlen einlesen
-
Hallo Leute,
ich möchte gerne Zahlen mit Fehlerkorrektur einlesen. Wie sag ich dem Compiler dass z.B. "3abc" keine richtige Zahl ist? Schließlich soll nur bei einer Zahl der wert eingelesen werden und nicht bei anderen Zeichen.
Danke für Eure Hilfe
Stefan
-
Du kannst z. B. den Rückgabewert von scanf abfragen....
http://www.c-plusplus.net/forum/viewtopic.php?t=25923&highlight=r�ckgabewert+scanf
-
Hi,
danke für deine Hilfe. Eine Scanf-Abfrage mache ich auch schon. ich möchte nun aber folgendes:
wenn z.B. jemand 3abc eingibt, liest er nur die 3. Ist vom Prinzip ja auch richtig. ich möchte nun aber, dass er auch bei so einer Eingabe eine Fehlermeldung ausspuckt. wie kann ich dass überprüfen. oder wäre es einfacher die gültigen Eingaben vorzugeben und alles andere als Eingabefehler einzustufen?
MFG
-
Bitte sehr:
#include <stdio.h> #include <string.h> #include <stdlib.h> int ZahlenEingabe(); void main () { int x; x = ZahlenEingabe(); printf ("Die eingegebene Zahl ist: %d", x); } int ZahlenEingabe() { char cBuffer[100]; int x, n_ok; unsigned int i; printf ("Bitte die Zahl eigeben: "); do { n_ok = 0; scanf ("%s", &cBuffer); x = atoi(cBuffer); if (!x) { for (i=0; i<strlen(cBuffer); i++) if (cBuffer[i]!='0') n_ok=1; } if (n_ok) { printf ("\n\aFehler! Bitte nur Zahlen eingeben!!!!\n"); printf ("Bitte die Zahl eigeben: "); } } while (n_ok); return x; }
-
JO THX
vielen dank. habs nun noch aber etwas abgeändert.
Super Forum hier.
THX a Lot.