C语言编写一个简单的计算器问题?
发布网友
发布时间:2022-04-29 21:01
我来回答
共4个回答
热心网友
时间:2023-10-09 03:40
#include<stdio.h>
int main()
{
int i,i1,i2,num;
while(true)
{
printf("\n");
printf("\n");
printf(" *********************\n");
printf(" * *\n");
printf(" * 常规计算器 *\n");
printf(" * *\n");
printf(" *********************\n");
printf(" 请选择你要进行的计算:\n");
printf(" 1.常规计算<加减乘除..>\n");
printf(" 2.退出\n");
printf("请输入你的选择:\n");
scanf("%d",&i);
if(!(i > 0&&i < 3))
{
if(i==1)
{
while(true)
{
system("cls");
printf("\n");
printf("\n");
printf(" 1.加\n");
printf(" 2.减\n");
printf(" 3.乘\n");
printf(" 4.除\n");
printf(" 5.取模\n");
printf(" 6.返回\n");
printf(" 7.退出\n");
printf("请输入你的选择:\n");
scanf("%d",&i);
if(!(i >0 &&i<7))
{
if(i==1)
{
printf("输入2个数字, 用空格隔开: ");
scanf("%d %d", &i1, &i2);
num = i1+i2;
printf("结果为%d\n", num);
}
else if(i==2)
{
printf("输入2个数字, 用空格隔开: ");
scanf("%d %d", &i1, &i2);
num = i1-i2;
printf("结果为%d\n", num);
}
else if(i==3)
{
printf("输入2个数字, 用空格隔开: ");
scanf("%d %d", &i1, &i2);
num = i1*i2;
printf("结果为%d\n", num);
}
else if(i==4)
{
printf("输入2个数字, 用空格隔开: ");
scanf("%d %d", &i1, &i2);
num=i1/i2;
printf("结果为%d\n", num);
}
else if(i==5)
{
printf("输入2个数字, 用空格隔开: ");
scanf("%d %d", &i1, &i2);
num=i1%i2;
printf("结果为%d\n", num);
}else if(i==6)
{
break;
}else if(i==7)
{
return 0;
}
else
{
printf("输入有误,请重试!");
}
}
}
}
else if(i==2)
{
return 0;
}
else
{
printf("请重新选择:");
}
}
}
}
加了两个while 和两个if
if(!(i > 0&&i < 3)); 要去掉 “;”
if(!(i >0 &&i<7)); 去掉“;”
加了
else if(i==6)
{
break;
}else if(i==7)
{
return 0;
}追问true 未声明标示符,怎么办?
追答那就换成 1
热心网友
时间:2023-10-09 03:40
while(2 == flag)//2表示退出循环
{
printf("\n");
printf("\n");
printf(" *********************\n");
printf(" * *\n");
printf(" * 常规计算器 *\n");
printf(" * *\n");
printf(" *********************\n");
printf(" 请选择你要进行的计算:\n");
printf(" 1.常规计算<加减乘除..>\n");
printf(" 2.退出\n");
printf("请输入你的选择:\n");
……
}
热心网友
时间:2023-10-09 03:41
在开始加while(1)无限循环,再加一个for循环,然后做完一个运算,加break:就可以完成了
热心网友
时间:2023-10-09 03:41
用“死”循环while(1)。在内部判断,满足特定的条件就break出去