【发布时间】:2022-07-25 01:52:24
【问题描述】:
我试图在我的 WHILE 循环中放置多个 OR 条件,这样除非我的“决策”变量等于“1”或“2”,否则它将继续循环。但是,即使我输入“1”或“2”,它仍然会循环。
cout << "Would you like to add or subtract these numbers?"
<< endl
<< "(1) for addition"
<< endl
<< "(2) for subtraction"
<< endl
<< "Select one: ";
cin >> decision;
while ((decision != 1) || (decision != 2))
{
cout << "Please pick (1) for addition or (2) for subtraction: ";
cin >> decision;
}
if (decision == 1)
{
cout << firstNum << " + " << secondNum << " = " << firstNum + secondNum;
}
else if (decision == 2)
{
cout << firstNum << " - " << secondNum << " = " << firstNum - secondNum;
}
个别条件适用,即
while (decision != 1)
或
while (decision != 2)
但不是在一起的时候。我使用 OR 运算符是否错误?
我才刚刚开始学习 C++,所以请多多包涵,不胜感激!
【问题讨论】:
-
while ((decision != 1) || (decision != 2))总是正确的,因为decision不能同时是 1 和 2。 -
你能想出
decision的任何值,它可以使decision != 1和decision != 2false同时出现吗? -
我认为你需要
&&操作符 -
或者
!(decision == 1 || decision == 2),更接近口头描述“除非我的变量等于1或2”。
标签: c++ while-loop