我希望查找變量「檢查」的確切匹配。如果用戶鍵入「type o」或「type b」,循環將結束。我試過while (check != "type o"){...}
,它工作,但沒有第二個條件。我很困惑。以下是我的代碼。C++多個條件匹配確切的字符串
void sunTypeCheck(string sunCheck){
string check = sunCheck;
transform(check.begin(), check.end(), check.begin(), ::tolower);
while (check != "type o" || check != "type b"){ //This is the problem.
cout << "Please enter a valid type of Sun. Try again: ";
getline(cin, check);
transform(check.begin(), check.end(), check.begin(), ::tolower);
}
}
這是我的主要方法。
int main(){
cout << "Please enter sun type: ";
getline(cin, typeOfSun);
sunTypeCheck(typeOfSun);
}
任何幫助將不勝感激。我看網上,並嘗試使用「比較」但只要我包括第二個條件,它不會工作,並計劃將始終返回Please enter a valid type of Sun. Try again:
想一想'||'(或)做了什麼。如果一方是'真',那麼這個表達所評估的是什麼? – NathanOliver
如果'check'不是''type o「'***和*** not'」type b「',那麼你希望條件成立?請學習基本[布爾代數](https://en.wikipedia.org/wiki/Boolean_algebra)。 –