【发布时间】:2015-02-18 21:05:04
【问题描述】:
尝试创建一个 while 循环,该循环将重新要求输入正确的输入。在这种情况下,正确的输入需要是一个数字。当我测试它并输入一个非数字答案时,它会结束程序。 while 循环不起作用。
if (variableQuestionsVf == "Yes" || variableQuestionsVf == "yes")
{
cout << "Input final velocity (in m/s): " ;
while (cin >> finalVelocity)
{
istringstream s(sVf);
s >> value;
if (value <= 0 || value >= 0) //Validating input for final velocity
break;
cout << "Please enter final velocity (in m/s): " ;
}
}
有没有更简单的方法?
【问题讨论】:
-
我很好奇,为什么人们要制作 1980 年代风格的交互式程序,而从轻分隔文本文件中读取的 C++ 工具更容易重复运行?更好的是在可能的情况下使用
argv与您的程序进行通信。 -
按数字,你是指一个数字还是任意数字?
-
@tadman 可能是因为我看过的任何初学者的 C++ 书籍都倾向于从这样的 i/o 开始。
-
对于数字,我的意思是数字 - 已编辑以解决该问题
-
@tadman 我是 C++ 新手,我只是想在空闲时间编写一个程序。它不是最漂亮的代码,也可能不是最有效的,但你必须从某个地方开始,对吧?最后,当我删除所有错误时它会起作用,这对我来说是一个好的开始。
标签: c++ validation while-loop