簡體   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