Unterscheidung zwischen Buchstaben und Zahlen
-
Hallo.
Ich hoffe, dass ich den richtigen Bereich für meine Frage gefunden habe, aonsonsten korregiert mich einfach.
Ich nutze Dev-C++ um dort in C zu programmieren.
Mein Problem:
Ich möchte eine float Zahl von der Tastatur einlesen und dann weiter zum Rechnen benutzen. Allerdings möchte ich ausschließen, dass der User einen Buchstaben oder Sonderzeichen eingeben kann, in diesem Fall soll erneut die Aufforderung zur Eingabe einer Zahl erfolgen?
Bitte um Hilfe, da C für mich noch ein Buch mit mindestens 6 Siegeln ist...
Vielen Dank, LG Martin
-
Wenn du C programmierst, bist du hier völlig falsch
Ansonsten: Du kannst über den scanf() Formatstring angeben, was du einlesen willst - bei %d (int) oder %f (double) bricht die Eingabe ab, sobald ein unpassendes Zeichen kommt.
-
Kannst du mir das etwas genauer erklären?!
float a; a = 0; printf("Eingabe Variable:"); scanf("%f",&a);
Das bringt bei mir keinen Erfolg, er akzeptiert jetzt auch Buchstaben, rechnet dann aber totalen Müll...
-
Deswegen hat scanf einen Rückgabewert, der dir mitteilt, ob die Eingabe geklappt hat:
if(scanf("%f",&a)!=1) printf("Falsche Eingabe"); else //rechne
-
Vielen Dank, so funktioniert es nun.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.