Hi,
Das was du da bei 1) machst ist ziemlich gefährlich, du solltest nach jedem Einlesen immer den Status des Streams überprüfen (und ggf. zurücksetzen), da sonst einige unvorhergesehende Dinge passieren können.
Ih würde das hier vorschlagen (ich weiss es geht schöner, ohne Endlosschleife und so
):
Code:
{
int eingabe;
for(;;) {
cout << "Bitte Zahl zwischen 1 und 7 eingeben: ";
cin >> eingabe;
if(cin.fail())
cout << "Keine Zahl!" << endl;
else if(eingabe < 1 || eingabe > 7)
cout << "Keine Zahl zwischen 1 und 7!" << endl;
else
{
cout << "Alles Klar!" << endl;
break;
}
cin.clear();
cin.ignore(INT_MAX, '\n');
}
cout << "Eingabe: " << eingabe << endl;
}
Bei 2) brauchst du dann wohl Threading.