我正在用C + + * /运算符制作一个简单的计算器。我尝试制作一个计算器,但是使用do..while
时遇到了一些问题。我认为while (op != 'A', 'Q', 'M', 'D', 'S');
是不正确的。我在这里需要什么?
#include<stdio.h>
int main(void)
{
int x, y, result;
char op;
printf("****************\n");
printf("A-----Add\n");
printf("S-----Substract\n");
printf("M-----MUltiply\n");
printf("D-----Divide\n");
printf("Q-----Quit\n");
printf("****************\n");
printf("Enter the operation:");
scanf("%c", &op);
printf("Enter the two variables:");
scanf("%d %d", &x, &y);
do {
if (op == 'A')
result = x + y;
else if (op == 'S')
result = x - y;
else if (op == 'M')
result = x*y;
else if (op == 'D')
result = x / y;
else if (op == 'Q')
break;
} while (op != 'A', 'Q', 'M', 'D', 'S');
printf("%d %c %d = %d\n", x, op, x, result);
return 0;
}
最佳答案
!=
是二进制运算符,它的左边是一个值,右边是一个值。您无法仅通过在右侧列出多个值来一次比较多个值。
要使此代码以最小的变化工作,您可以分别将op
与每个变量进行比较,然后使用标准逻辑运算符(例如&&
)组合它们。
您还需要考虑代码的逻辑。您正在使用do ... while
循环,这意味着代码将至少运行一次,并且每次到达结尾时,如果while
条件为true,则它将再次运行。第一次运行后会发生什么?如果未指定任何用户输入(op
),会发生什么情况?而且您有一个“退出”选项,但是使用它会怎样?
关于c - 用C语言制作简单的计算器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33110940/