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