我正在尋找一種方法來檢查用戶輸入的字符串,當提示(讓我們把它看作是一個字符串變量「userinput」)從其他10個字符串的數組中。到目前爲止,我有:檢查字符串是否與字符串數組中的任何字符串匹配?
while (userinput.empty()) //Check for empty input
{
cout << "Please enter your identity.\n"; //Identify user
getline(cin, userinput);
do //Check to see if user is the same as the string variable "user"
{
cout << "This user is either non existent or has access privileges revoked.\n"; //Wrong username!
cout << "Please re-enter the username.\n";
getline(cin, userinput);
}
while (user != userinput);
}
可以看出,雖然這隻適用於單個字符串變量「用戶」。我將如何改變這個字符串數組?
數組本身是:
string arr[10] = {"Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7", "Test8", "Test9", "Test10"};
請注意:我不打算使用的密碼,只有用戶名。
寫一個單獨的函數返回一個'bool',即在一個循環中檢查'userinput'參數通過該陣列和去在你的'while()'中使用這個作爲條件。 –
嗨,我對C++沒有經驗,你能否擴展你的建議? – Talisman
我寫了一個答案。我希望你明白這個主意。 –