1

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

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

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

4

2 回答 2

1

你想用&&||

while ((operand != "+") && (operand != "-") && (operand !=  "*") && (operand != "/"))
于 2013-11-14T02:53:42.057 回答
1

使用std::string::find_first_of

while (operand.find_first_of("+-*/") == std::string::npos)
{
   //...
}
于 2013-11-14T02:59:36.013 回答