tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1037
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Gambit050 Gambit050 ist offline Rookie
    Registriert seit
    Oct 2004
    Beiträge
    7
    Hi bräucht mal ne Hilfe für folgendes Problem.

    Angenommen ich möchte das eine Zahl eingegeben wird:

    int eingabe;
    cout << "Eingabe:";
    cin eingabe;


    Wie kann ich es jetzt mit einer Fehlermeldung abfangen falls ein Buchstabe eingegeben wird?
    Also z. B. ein h. Dann soll ausgegeben werden: "Eine Zahl du Depp" und wieder zur Eingabe gesprungen werden.

    Ich hoffe ich konnte mein Problem verständlich erklären.
    Gruß
    Sascha
     

  2. #2
    vop vop ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Beiträge
    676
    Grundsätzliches Vorgehen:

    Geh davon aus, dass ein Text eingegeben wird
    Prüfe, ob der Text nur Ziffern und ggf. Dezimaltrenner etc. enthält
    Wenn nicht, melde den Fehler und wiederhole die Eingabe
    SONST alles klar

    Alles klar?
    vop
     

  3. #3
    Avatar von giwoody
    giwoody giwoody ist offline Mitglied Bronze
    Registriert seit
    Jun 2004
    Beiträge
    26
    bein einstelligen zahlen:


    if (eingabe < 0x30 || eingabe >0x39)
    printf("FEHLER");
    else
    printf("KORREKT");

    versuch das mal

    die dezimale null hat einen hexwert von 0x30 bzw. die neun einen hexwert von 0x39. ist die eingabe grösser oder kleiner ist das ergebnis korrekt
     

  4. #4
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Und den ganzen String zu pruefen ist auch nicht sehr viel schwerer:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    int is_numstr(char *s)
    {
        /* Edit: Falls ein leerer String uebergeben wurde */
        if (*s == 0)
            return 0;
     
        /*while (*s >= '0' && *s <= '9')*/
        while (isdigit(*s)) /* Edit: isdigit ist schon 'was Schoenes... */
            s++;
     
        return *s == 0;
    }
     

  5. #5
    Gambit050 Gambit050 ist offline Rookie
    Registriert seit
    Oct 2004
    Beiträge
    7
    Danke schonmal
    Ist zwar alles noch ein wenig hoch für mich, aber ich werd mich damit mal ein bißchen beschäftigen. try and error!
    Gruß Sascha
     

Ähnliche Themen

  1. Eingabefehler abfangen und neu eingeben
    Von jku_yannic im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 11.12.09, 16:45
  2. Java Servlet EIngabefehler abfangen
    Von shocking im Forum Java
    Antworten: 4
    Letzter Beitrag: 11.09.09, 23:20
  3. Antworten: 3
    Letzter Beitrag: 15.05.07, 14:35
  4. Eingabefehler abfangen (Buchstaben)
    Von Pixtar im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 21.09.06, 15:27
  5. Absturzsicherung gegen Eingabefehler
    Von Seeyou im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 19.06.05, 20:58