Wie überprüfe ich in C++ eine "CIN"-Eingabe auf ihre Art der Eingabe?
Ich möchte bei einer CIN-Eingabe überprüfen, ob es sich bei der Eingabe um eine Zahl oder einen Buchstaben handelt (oder mehrere) Bei einer zahl soll das Programm ganz einfach weiter laufen, bei einem Buchstaben soll die Meldung auskommen, dass die Eingabe unzulässig ist.
ICh weis, dass ich das ganze mit einer if-Abfrage machen muss, aber leider weis ich nicht, wie ich die Bedingungen schreiben soll..
Lg fOf
3 Antworten
Schau dir mal die Ascii-Tabelle an: http://www.o-bizz.de/qbdown/qbeigen/pics/ascii_gross.gif
Zahlen sind von 48 bis 57. Wenn du einen Char mit cin einliest, kannst du überprüfen, ob er zwischen 48 und 57 liegt. Also
cin >> c ;
if ( c >= 48 && c <= 57 ) ...
Genauso kannst du für Buchstaben überprüfen
cin >> c ;
if ( ( c >= 97 && c <= 122 ) || ( c >= 65 && c <= 90 ) ) ...
Dann lies lieber als String oder Char-Array Zeilenweise ein, z.B. mit getline() und überprüfe danach mit irgendwelchen Funktionen (kenne aus dem Kopf keine), ob es Zahl oder einzelner Buchstabe ist.
Bei einem double kannst du keinen Buchstaben einspeichern.
Falls es dir hilft: Buchstaben haben bei c++ auch unterschiedliche Größen.
ich hab aber meine Werte als Double deklaariert. ich kanns ncihts auf Int haben... oder geht das auch bei double?