gpt4 book ai didi

c - 用C语言制作简单的计算器

转载 作者:行者123 更新时间:2023-11-30 17:09:53 24 4
gpt4 key购买 nike

我正在用 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条件为真。第一次运行后会发生什么?如果用户输入 (op) 不是指定的选项,会发生什么情况?并且您有一个“退出”选项,但是使用它时会发生什么?

关于c - 用C语言制作简单的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110940/

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