Ich habe einen Code über das Erraten einer geheimen Zahl geschrieben, aber ich habe ein Problem, wenn ein alphabetisches Zeichen als Eingabe anstelle einer Ganzzahl angegeben wird. Es hält das Programm an. Wie kann ich diesem Problem widerstehen?Wie Schleife neu zu starten, wenn ein Alphabet vom Benutzer in C++
srand(time(0));
int a,secret;
secret=rand() % 10 +3;
do{
cout<<"Guess the secret num between 1-10 + 3 : ";
cin>>a;
else if(a>secret)
{
cout<<"Secret num is smaller!!"<<endl;
}
else if(a<secret) {
cout<<"Secret num is greater !!"<<endl;
}
}
while(a!=secret)
cout<<" "<<endl;
cout<<""<<endl;
cout<<"Congratulations!!!! This is the secret num...."<<secret<<endl;
Code nicht kompiliert. Zeigen Sie uns den tatsächlichen Code. (wo ist zuerst wenn?) – Incomputable
Sie müssen 'cin.clear()' verwenden, um den Fehlerstatus zurückzusetzen, wenn der Eingabestream nach einer ungültigen Eingabe übergeben wurde. –
Überprüfen Sie das 'continue' Schlüsselwort –