-2 c++ while-loop
所以我在这里得到了这部分代码:
string stringparam;
string stringparam1;
double d;
unsigned x;
cout << "Welcome" << endl;
cout << "Choose one (ASUS, MSI, Gigabyte, ASrock)" << endl;
cin >> stringparam;
while (stringparam != "ASUS" || "MSI" || "Gigabyte" || "ASrock")
{
cout << "you gave bad input \n" << endl;
cout << "Choose one (ASUS, MSI, Gigabyte, ASrock)" << endl;
cin >> stringparam;
}
Run Code Online (Sandbox Code Playgroud)
问题是即使我给他一个正确的答案,比如“华硕”,它仍然给我错误信息:“你的输入错误”我该怎么办?
只是盲目猜测语法是行不通的。我建议stringparam != "ASUS" || "MSI" || "Gigabyte" || "ASrock"通过阅读有关运算符来了解真正的含义。
你可以做这样的事情来以一种非常简洁的方式实现你想要的。它需要 C++11 或更高版本。
std::set<std::string> ss = {"ASUS","MSI" , "Gigabyte","ASrock" };
while(ss.find(stringparam) == ss.end()) {
Run Code Online (Sandbox Code Playgroud)