bool correct = false;
while (!correct)
{
cout << "Please enter an angle value => ";
cin >> value; //request user to input a value
if(cin.fail())
{
cin.clear();
while(cin.get() != '\n');
correct = false;
}
else
cin.get();
cin.ignore();
correct = true;
}
根据上面的代码,这是我的问题:
输入值后,程序将暂停,我必须再次按 Enter 才能继续程序的下一部分;我怎样才能避免它?
此外,如果我输入像'abcd'这样的值,程序不会循环要求用户再次输入值,为什么会这样?相反,它仍会继续并输出值 0。
我对这些命令还是新手,只是玩和探索它们,我感谢你的指导!
编辑:
while (!correct)
{
cout << "Please enter an angle value => ";
cin >> value; //request user to input a value
if(cin.fail())
{
cin.clear();
while(cin.get() != '\n');
correct = false;
}
else
{
cin.get();
cin.ignore();
correct = true;
}
}