gpt4 book ai didi

c++ - 即使条件不成立,while 循环也会运行

转载 作者:太空狗 更新时间:2023-10-29 23:34:53 26 4
gpt4 key购买 nike

我正在尝试使用 C++ 制作一个计算器,我正在尝试实现错误处理,所以如果用户输入一个非算术运算符,它会告诉用户请输入一个运算符,使用 while 循环。问题是,即使用户在第一次运行时输入运算符,while 循环仍然会执行。

我试过在 while 和 perinthesis 之间不加空格,我也试过不使用变量,只是把所有的条件放在一起触发循环。

string getop()
{
string op;
int check = 1;
cout << "Enter an operator (+ - / *): ";
cin >> op;
if ((op != "+") || (op != "-") || (op != "/") || (op != "*"))
{
check = 0;
}
while (check == 0) // while the input is not a valid operator
{
cout << "Invalid operator, please enter a valid operator: ";
cin >> op;
if ((op == "+") || (op == "-") || (op == "/") || (op == "*"))
check = 1;
}

return op;
}

问题是,即使用户在第一次运行时输入运算符,while 循环仍会执行。

最佳答案

尝试:

(op != "+") && (op != "-") && (op != "/") && (op != "*")

运算符 || 运算符(可选,一个或另一个就足够了)。您需要运算符 &&,它强制所有条件同时为真。

关于c++ - 即使条件不成立,while 循环也会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com