Eingabebedingung

zarqon

Grünschnabel
Mir ist da gerade noch eine Frage in Bezug auf eine Eingabebedingung eingefallen:
Ich möchte in ein "cin>>" Feld eine Zahl zwischen z.B.500 und 1500 eingeben. Wie muß ich das in C++ umsetzen, damit Fehleingaben von z.B. 5b0 oder5.01 oder 65/8 nicht
möglich sind?
 
moin


direkt bei "cin" kannst du das nicht machen! du musst nach der eingabe die eingabe z.b. mit if-abfragen überprüfen.
z.b. für den bereich 500 und 1500 "if(zahl >= 500 && zahl<= 1500)"
um zu überprüfen ob die eingabe wirklich ein zahl ist guck dir mal die funktion "isdigit" an!



mfg
umbrasaxum
 
Kann man da nicht auch was mit int- und char-Variablen machen?
Erst chars initialisieren um die Bedingung zu testen und danach in int
umwandeln?
 
Zuletzt bearbeitet:
Ja klar geht das. Einfach über cin etwas in ein Array einlesen. Zeichenzweise auswerten und dann übertragen.

Allerdings würde ich in Deinem Fall wohl eher zu _getch() greifen, das ist effektiver, da hier die Chars einzelnd übergeben werden und nicht direkt in der Konsole landen.

MfG

Tobias
 
Sorry wenn da jetzt zwei gleiche Themen sind, aber irgendwie funktionierte da was mit dem Erstellen des Themas ins Forum nicht.

Dann frage ich ncohmal weiter zum Beitrag von Tobiasm:
Wenn das in ein array eingelesen ist, wie kann man das auswerten und zeichenweise übertragen, denn diese Bedingung sollte eigentlich als do-while Schleife eingesetzt werden und so richtige Eingaben in ein array speichern.getch() soll nach Möglichkeit nicht verwendet werden, es wäre ja sonst zu einfach!!
 
Zurück