繁体   English   中英

无法检查类似的字符串输入 C++

[英]Unable to check for similar string input C++

我在检查用户输入的类似字符串时遇到问题,我很确定我没有弄错我的概念。 恐怕我可能会错过一些东西。

我试图确保用户只输入 AF 等级,因此我尝试进行如下所示的输入检查,但它似乎无法正常工作。

string grade;
bool input=false;

while (!input)
{
    cout << "Please enter grade : ";
    getline(cin, grade);

    if (grade == "Grade A" || grade == "Grade B" || grade == "Grade C" || grade == "Grade D" || grade == "Grade E" || grade == "Grade F")
    {
        input = true;
        cout << "Successful input " << endl;
    }
    else
    {
        cout << "Please enter the correct input" << endl << endl;
        input = false;
    }       

}

例如,如果我输入 Grade A,它应该在退出循环时返回成功的输入,但它似乎不起作用。 我目前正在使用 Visual Studio 2015 来编程这个应用程序。

解决此问题的最佳方法是使用调试器或 cout 来了解哪里出错了。 我的第一步是找出使用 getline() 后等级的值是多少。 如果成绩不等于您输入的内容,则显然有问题。

请记住,总有一种替代 getline() 的方法。 相反,您可以使用:

 cin << grade;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM