Pergunta de cinfail () do C ++
Ao executar o código a seguir e digitar um número, ele funciona bem. Mas ao digitar uma letra, o programa entra em um loop infinito, exibindo "Digite um número (0 para sair): cin falhou."
Minha intenção era lidar com o caso de falha cin e avisar o usuário novamente.
int number;
do{
cout << "Enter a number (0 to exit): ";
cin >> number;
if(cin.fail()){
cout << "cin failed." << endl;
cin.clear();
}else{
cout << "cin succeeded, " << number << " entered." << endl;
}
}while(number != 0);