关于这个的问题 如果/否则代码使用 ||和 &&


#include <iostream>
#include <string>
using namespace std;
int main()
{
string vegetarian, vegan, gluten_free;
cout << "Welcome to Restaurant Selector!" << endl;
cout << "Are you a vegetarian?"<<endl;
cin >> vegetarian;
cout << "Are you a vegan?"<<endl;
cin >> vegan;
cout << "Are you gluten-free?"<<endl;
cin >> gluten_free;
if (gluten_free == "yes" && vegan == "yes" && vegetarian == "yes" )
{
cout<<"The Chef's Kitchen"<<endl;
}
else if (gluten_free == "yes" && vegan == "yes" )
{
cout<<"Vegan's lair"<<endl;
}
else if (gluten_free == "yes")
{
cout<<"Starbuck's"<<endl;
}
else if ( gluten_free == "no" || "No" && vegan == "no" || "No" && vegetarian == "no"||"No")
cout<<"Burger King"<<endl;

return 0;
}

如何使用yes的多个变体来获得第一个if表达式。我希望它包括:是的,是的,和是的。但是,我只能在两个字符串上使用or运算符。我还想在后面的几行中这样做。我该怎么办?

如何获得使用yes的多个变体的第一个if表达式。我希望它包括:是的,是的,和是的。

在比较之前将输入字符串转换为小写。

一个微不足道的例子:

auto tolower = [](unsigned char c){
return std::tolower(c);
};
std::transform(
vegan.begin(),
vegan.end(),
vegan.begin(),
tolower
);

请注意,像这样的简单字符串处理只适用于固定宽度编码,而不适用于unicode。

最新更新