比较while循环中的多个字符串

时间:2013-11-14 02:50:08

标签: c++ string string-comparison

我是初学者,只是想制作一个简单的计算器,提示用户输入两个值和一个操作数。

string operand;
cin >> operand;
while (operand != "+") || (operand != "-") || (operand !=  "*")|| (operand != "/"))
{
    cout << "operand must be either'+', '-', '*', or '/'." << endl;
    cin >> operand;
}

无论我输入到操作数中,为什么它会一直进入while循环?

2 个答案:

答案 0 :(得分:1)

您想使用&&而不是||

while ((operand != "+") && (operand != "-") && (operand !=  "*") && (operand != "/"))

答案 1 :(得分:1)

使用std::string::find_first_of

while (operand.find_first_of("+-*/") == std::string::npos)
{
   //...
}