ich habe ein kleines Problem und hoffe das mir hier jemand helfen kann den Fehler zu entdecken bzw. mich aufzuklären.
Und zwar möchte ich, dass der Benutzer mit Zahlen sich im Menu fortbewegt. Sollte der Benutzer sich vertippen soll die Abfrage wiederholt werden. Dies funktioniert auch soweit, sollt er eine falsche Zahl eingeben. Wenn der Benutzer aber nun einen Buchstaben statt einer Zahl eingibt, hängt sich das Programm in einer Dauerschleife auf. Wie kann ich es also bewerkstelligen, falls der Benutzer ausversehen einen Buchstaben eingibt, der Programm wieder bei einer Falsch zahl die Abfrage noch einmal stellt?
Beste Grüße und Danke im voraus.
Hier ein Auszug aus dem Quellcode:
Code: Alles auswählen
#include <iostream>
#include <windows.h>
using namespace std;
[......]
int main (void)
{
//////////////////////////
// Console Farbeinstellung
system ("color 1F");
///////////////////
// Variablen main()
int menu_auswahl;
cout << " 1. Starten" << endl;
cout << " 2. Credits" << endl;
cout << " 3. Beenden" << endl;
cout << "\n\n" << endl;
cout << " Eingabe: ";
cin >> menu_auswahl;
if (menu_auswahl == 1)
{
start_game();
}
if (menu_auswahl == 2)
{
credits();
}
if (menu_auswahl == 3)
{
exit_prg();
}
else
{
cout << " Keine Korrekte Eingabe." << endl;
main();
}
return 0;
}