我试图提示用户输入并进行验证。例如,我的程序必须接受 3 个用户输入。一旦它达到非整数,它将打印错误消息并再次提示输入。这是我的程序在运行时的样子:
输入号码:a
输入错误
输入号码:1
输入号码:b
输入错误
输入号码:2
输入号码:3
输入的数字是 1,2,3
这是我的代码:
double read_input()
{
double input;
bool valid = true;
cout << "Enter number: " ;
while(valid){
cin >> input;
if(cin.fail())
{
valid = false;
}
}
return input;
}
我的主要方法:
int main()
{
double x = read_input();
double y = read_input();
double z = read_input();
}
当我的第一个输入是非整数时,程序会自行退出。它不会再次要求提示。我怎么能修好它?或者我应该使用 do while 循环,因为我要求用户输入。
提前致谢。