max00
Freizeitschrauber(in)
Hey Silent - ich habe eine Lösung gefunden:
du musst in der abfrage auf cin.fail() noch folgendes einfügen:
cin.clear();
cin.ignore();
also statt:
Das löscht dir dann das Fehlerbit und die nächsten Abfragen funktionieren wieder!
Außerdem würd ich die ganze Abfrage in eine kleine Schleife packen:
Somit hast du dann am Ende immer eine gültige Eingabe 
mfg max00
EDIT: Und die Zeile:
gehört nach dem Einlesen von "Landcode" eingefügt!
du musst in der abfrage auf cin.fail() noch folgendes einfügen:
cin.clear();
cin.ignore();
also statt:
Code:
if(cin.fail())
{
cout << "Einlesen fehlgeschlagen" << endl;
}
Code:
if(cin.fail())
{
cin.clear();
cin.ignore();
cout << "Einlesen fehlgeschlagen" << endl;
}
Außerdem würd ich die ganze Abfrage in eine kleine Schleife packen:
Code:
int eingabe;
cout<<"Bitte eine Zahl eingeben:\n";
cin >> eingabe;
while(cin.fail() )
{
cin.clear();
cin.ignore();
cout<<"Keine Zahl!\nBitte erneut eingeben:\n";
cin>>eingabe;
}

mfg max00
EDIT: Und die Zeile:
Code:
MeineBestellung.MeineLieferanschrift.MeinLand = static_cast<land>(Landcode);
Zuletzt bearbeitet: