Hallo,
ich versuche auf eine ganz primitive Art eine Eingabe auf einen gültigen Wert zu überprüfen. Die Variable "eingabe" ist vom Typ "unsigned int".
Das ist mein Code:
Code:
do
{
if (! ersterDurchlauf)
{
cout << "\n\t --> Fehleingabe!\n";
cout << "\t Geben Sie eine ganze Zahl zwischen 1 und 4 ein.\n";
}
ersterDurchlauf = false;
cin >> eingabe;
}
while (! ((eingabe == 1) || (eingabe == 2) || (eingabe == 3) || (eingabe == 4)));
Solange ich Zahlen eingebe, geht das einwandfrei und ich werde jedesmal aufgefordert, eine neue Eingabe zu tätigen. Gebe ich jedoch einen Buchstaben ein, dann lande ich in einer Endlosschleife, die mir ständig den Text "Fehleingabe ..." ausgibt.
Der Wert von "eingabe" ist beispielsweise bei eingegebenem Buchstaben "m" immer 3435973836;
Was mache ich falsch? Liegt's an "unsigned int"?
Grüße