[英]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.