用C语言做一个计算器计算器设计一个多功能计算器,可以完成基本的计算.设计要求:1.具备整型数据、浮点型数据的算术(加、减

问题描述:

用C语言做一个计算器
计算器
设计一个多功能计算器,可以完成基本的计算.
设计要求:
1.具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能.依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果.结果可以作为下一个运算的第一运算数.按‘C’清屏,按‘R’返回 菜单.
例如:输入:2
+
5
输出:7
2.实现单运算符表达式计算的功能.输入的操作数可以包含整数或浮点数.输入表达式如下:
例如:输入:2+5
输出:7
1个回答 分类:综合 2014-10-12

问题解答:

我来补答
R返回菜单是不是结束的意思呢?
再问: 呃,不是,是返回再次计算
再答: #include main(void) { float digit, sum; char sign; scanf("%f %c", &digit, &sign); sum = 0; while (sign != 'E'){ switch (sign) { case '+': sum = digit + sum; printf("sum = %f\n", sum); break; case '-': sum = digit - sum; printf("sum = %f\n", sum); break; case '*': case 'x': sum = digit * sum; printf("sum = %f\n", sum); break; case '/': if(digit != 0) sum = digit / sum; printf("sum = %f\n", sum); break; case 'c': sum = 0; printf("sum = %f\n", sum); break; case '=': sum = digit + sum; printf("sum = %f\n", sum); break; default: break; } scanf("%f %c", &digit, &sign); } return 0; } 这样。 这是我以前写的我没时间改,你试下改下应该可以
再问: 呃 貌似不行啊
再答: #include main() { float digit, sum; char sign; scanf("%f", &digit); sum = digit; while ((sign = getchar()) != 'R') { if (sign == '+') { scanf("%f",&digit); sum = digit + sum; printf("%.4f\n", sum); } if (sign == '-') { scanf("%f",&digit); sum = sum - digit; printf("%.4f\n", sum); } if (sign == '*' || sign == 'x') { scanf("%f",&digit); sum = digit * sum; printf("%.4f\n", sum); } if (sign == '/'){ scanf("%.4f\n",&digit); if (digit != '0') { sum = digit + sum; printf("%.4f\n", sum); } else printf("wrong\n"); } if (sign == 'E'){ sum = 0; printf("%.4f\n", sum); } if(sign == '='){ printf("%.4f\n", sum); } } } 好了就这个你看看有什么要修改 忘记说了要这样输入的 12 + 23 + 32
再问: 你这不行啊 减 和除都没用啊 要不就一个劲的加 要不就一个劲的乘
再答: #include main() { float digit, sum; char sign; scanf("%f", &digit); sum = digit; while ((sign = getchar()) != 'R') { if (sign == '+') { scanf("%f",&digit); sum = digit + sum; printf("%.4f\n", sum); } if (sign == '-') { scanf("%f",&digit); sum = sum - digit; printf("%.4f\n", sum); } if (sign == '*' || sign == 'x') { scanf("%f",&digit); sum = digit * sum; printf("%.4f\n", sum); } if (sign == '/'){ scanf("%f", &digit); sum = sum / digit; printf("%.4f\n", sum); } if (sign == 'E'){ sum = 0; printf("%.4f\n", sum); } if(sign == '='){ printf("%.4f\n", sum); } } } 应该可以了 冲忙写错了
再问: 清屏 和 返回菜单没用啊
再答: 将E那条件改为C就可以了(sign == 'E'这条),就是不明白R的是什么功能?
 
 
展开全文阅读
剩余:2000
上一页:dc2inr3qec3r2
下一页:这样怎么写