C++, Wie das Umzusetzen Menü mit Nummer und Brief Wahl

Möchte ich ein Menü in C++, die Optionen hat, die beide in Buchstaben und zahlen. Zum Beispiel könnte die Ausgabe:

========================
(1) Do something
(2) Do something
(a) Do something
(b) Do something
========================

Ist es ein Verfahren zur Prüfung von Benutzereingaben, um zu bestimmen, wenn es ein char oder int und handle entsprechend?

Wenn ich:

int choice;
cin >> choice;

Und die Eingaben des Benutzers einen char, natürlich cin wird ein Fehler zurückgegeben. Ich bin auf der Suche nach einer einfachen Methode zur Prüfung von Benutzereingaben für eine Ziffer oder einen Buchstaben ein und das Programm anders reagieren, basierend auf dieser Bestimmung.

[UPDATE]

Ich habe die Antwort gefunden die ich suchte. Hier ist, wie ich es gemacht habe:

string choice;
cout << "Your choice: ";
cin >> choice;

if( isdigit(choice[0]) )
{
    theInt = stoi(wChoice);
    //do something with int
}
else if( choice[0] = 'a' )
    //do menu option a
  • std::string choice; könnten die meisten flexible Daten Typ IMHO.
  • Warum wurde diese Frage nach unten gestimmt? Einige nützlichen input wäre schön. =P
Schreibe einen Kommentar