Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 正在验证用户输入的数字_C++_Validation_While Loop - Fatal编程技术网

C++ 正在验证用户输入的数字

C++ 正在验证用户输入的数字,c++,validation,while-loop,C++,Validation,While Loop,尝试创建一个while循环,该循环将重新请求输入正确的输入。在这种情况下,正确的输入需要是一个数字。当我测试它并输入非数字答案时,程序结束。while循环不工作 if (variableQuestionsVf == "Yes" || variableQuestionsVf == "yes") { cout << "Input final velocity (in m/s): " ;

尝试创建一个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): " ;
                        }
                    }
if(variableQuestionsVf==“Yes”| variableQuestionsVf==“Yes”)
{
最终位置)
{
Istringstreams(sVf);
s>>价值;
if(value=0)//验证最终速度的输入
打破

cout我认为您的输入验证不正确。请尝试执行以下操作:

#include <iostream>
#include <limits>

int main()
{
    int x;
    std::cin >> x;
    while(std::cin.fail())
    {
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
        std::cout << "Bad entry.  Enter a NUMBER: ";
        std::cin >> x;
    }
}
#包括
#包括
int main()
{
int x;
标准:cin>>x;
while(std::cin.fail())
{
std::cin.clear();
std::cin.ignore(std::numeric_limits::max(),'\n');
std::cout>x;
}
}

< /P>我很好奇,为什么当一个从一个小分隔的文本文件中读取的C++工具会更容易重复运行时,人们为什么会使用80年代风格的交互程序?更好的是,在可能的时候与你的程序通信,使用“<代码> ARGV < /代码>。EgMin的C++书我喜欢用I/O开始。对于数字i,数字——编辑修复。that@tadman我是C++新手,我只是在空闲时间尝试编写一个程序。它不是最漂亮的代码,它可能不是最有效的,但是你必须从某个地方开始,在我拥有所有bug REM时,它最终会起作用。oved,这对我来说是一个很好的开始。谢谢你提供了简单的解决方案!我调整了代码以适应我的代码,它工作得非常完美。如果你能解释它是如何工作的,它会让它变得更好!我理解到数字限制。无论如何,谢谢你的帮助!