c - 用c语言制作计算器
问题描述
我想做一个计算器并在下面编程。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
char o;
int x, y;
while (1)
{
printf("type the problem");
scanf("%d %s %d", &x, &o, &y);
if (o == '+' );
{
printf(" %d\n", x + y);
}
else if (o == '-');
{
printf(" %d\n", x - y);
}
else if (o == '*');
{
printf("%d\n", x*y);
}
else if (o == '/');
{
printf("%d\n", x / y);
}
else
{
printf("wrong input! \n");
}
}
return 0;
}
这个程序不工作!我找不到我错过了哪一部分!例如,如果我输入 1 + 3 (one+space+plus+space+three) 这应该 printf 4 并继续重复计算器(不是结束)感谢阅读:)
解决方案
对于这种任务switch ... case
要好得多:
int main(void)
{
char o;
int x, y;
while (1)
{
printf("type the problem");
scanf("%d %c %d", &x, &o, &y);
switch(o)
{
case '+':
printf(" %d\n", x + y);
break;
case '-':
printf(" %d\n", x - y);
break;
case '/':
if(y == 0) printf("Division by zero!!!!")
else printf(" %d\n", x / y);
break;
case '*':
printf(" %d\n", x * y);
break;
default:
printf("wrong input! \n");
}
}
}
推荐阅读
- r - ggplot 没有出现在我的 R 闪亮仪表板上
- javascript - 机器人可以在私信中提及用户吗?
- mule - 如何在没有特定标头的 mulesoft 中的 Dataweave 2.0 中将 CSV 转换为 JSON?
- javascript - 将javascript连接到多个表
- algorithm - 计算 N 个人形成对的方式的数量
- pandas - matplotlib pandas:根据另一列值更改数据点之间的宽度
- php - $_POST 请求适用于邮递员,但不适用于 android 应用程序
- popup - 将 Diagflow 与网站集成为弹出窗口
- javascript - 如何在生产 webpack 构建中获取原始函数参数名称
- javascript - 为什么 babel+gulp 包含 polyphils 和 require 方法?