c++ - abfragen ob integer oder char eingegeben wurde?

phpMars

Erfahrenes Mitglied
Hi,

also ich bin gerade an einem kleinen Programm (Konsole).
Ich habe ein Switch-Menü, welches über integer (Zahl zwischen 0-5) gesteuert wird.
Wenn aber jetzt jemand ausversehen einen Buchstaben eingibt, möchte ich eine Fehlermeldung haben.

Wie mache ich diese Abfrage ?
 
Hi.

Code:
int i;
while (cin) {
   if (cin >> i) {
    switch (i) {
      ...
    }
  } else {
    if (!cin.bad() && !cin.eof()) {
      /* Stream ist nicht in einem (unbehebbaren) Fehlerzustand und es
         ist auch noch nicht das Ende erreicht. */
      cerr << "Fehler: Ganze Zahl erwartet." << endl;
      cin.clear();
    }
  }
}

Gruß
 
Zurück