【发布时间】:2013-05-31 19:32:21
【问题描述】:
我试图提示用户输入并进行验证。例如,我的程序必须接受 3 个用户输入。一旦它达到非整数,它将打印错误消息并再次提示输入。这是我的程序在运行时的样子:
输入数字:一个
输入错误
输入数字: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 循环,因为我要求用户输入。
提前致谢。
【问题讨论】:
-
我们必须看到更多的代码。你用调试器检查过吗?可能是崩溃...
-
在 main 方法中我只写了 double x = read_input();双 y = read_input();双 z = read_input();我做错了吗?
标签: c++ validation while-loop