Eingabemaske für manuelle Zeiteingabe!



  • Hallo,
    ich muss in mein cpp-Programm eine Uhrzeit manuell eingeben und brauche dafür eine ideale Eingabemaske! Format: hh:mm! Dabei ist zu beachten:

    - Zahl für "hh" darf nicht kleiner als 0 und nicht größer als 23 sein
    - Die Trennung zwischen "hh" und "mm" muss durch einen Doppelpunkt erfolgen
    - Zahl für "mm" darf nicht kleiner als 0 und nicht größer als 59 sein

    Bis hiernhin kein Akt, aber es gibt ein weiteres Problem:

    - "mm" darf nicht mehr als 2 Stellen haben, sonst wäre sowas möglich:

    "Zeit: 2:003" oder "Zeit: 2:3"

    Um also mit dem Wert rechnen zu können (mm < 0, usw.) und gleichzeitig die zweitsellige Eingabe zu beachten, habe ich mich für einen stringstream entscheiden! Jetzt ist aber so eine Eingabe möglich:

    "Zeit: 2:3k"

    Und das sollte ja auch nicht sein! Also wie kann ich es bewerkstelligen, eine zweistellige ZAHL eingeben zu müssen (keine Sonderzeichen und Buchstaben)?? Geht das überhaupt??
    Ich hoffe ihr habt das Problem erkannt und wisst eine Lösung darauf!

    Gruß
    hero



  • Mit dem C++-Standard wirst du da erhebliche Probleme bekommen. Wenn du auf den Standard verzichten kannst schau dich mal in der Konsolen-FAQ (getch(), Reine Zahleneingaben, etc.) um.

    MfG SideWinder


Anmelden zum Antworten