我尝试提示用户输入并进行验证。例如,我的程序必须接受3个用户输入。一旦遇到非整数,它将打印错误消息并再次提示输入。以下是程序运行时的样子:
当我的第一个输入不是整数时,程序会自动退出。它不会再次提示输入。我该如何修复它?或者我应该使用 do while 循环来请求用户输入。
提前感谢。
以下是我的代码:输入数字: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 循环来请求用户输入。
提前感谢。