C语言 设计一个多功能计算器

实现功能:1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,然后输出结果。结果可以作为下一个运算... 实现功能:
1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。
依次输入第一个运算数、运算符(+,-,*,/),第二个运算数,然后输出结果。
结果可以作为下一个运算的第一运算数。按‘C’清屏,按‘X’退出。
例如:输入:2
+
5
输出:7
2)实现单运算符表达式计算的功能。
输入的操作数可以包含整数或浮点数。如果遇到错误的表达式,应输出错误提示信息。
输入表达式如下:
例如:输入:2+5
输出:7
展开
 我来答
huguquan
推荐于2016-02-19 · TA获得超过248个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:230万
展开全部
试一下这一个程序(最好用TC2.0编译,我是用这个编译软件做的):
# include "stdio.h"
# include "conio.h"

void shi();
void cal();

main()
{char c;

do
{
printf("****************************************\n\n\n\n");
printf(" 1. Calcullator\n");
printf(" 2. Biao da shi\n");
printf("\n\n\n\n****************************************\n");
printf("\n\n\n\n\n\nplease input you choice the number:\n");
c=getchar();
if(c=='1')cal();
if(c=='2')shi();
printf("please choice the number again\n");
}while(c!='1'&&c!='2');
}

void shi()
{float a,b,c;
char ch ;
scanf("%f",&a);
do
{ch=getchar();
}while(ch==' ');

scanf("%f",&b);
switch(ch)
{ case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
default:printf("error\n");

}
printf("%f\n",c);
getch();
}

void cal()
{float a,b,c;
char ch,key;
printf("iuput the frist value: ");
scanf("%f",&a);
printf("input symbol(+,-,*,/): ");
ch=getchar();
while(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')
{if(ch!=' '&&ch!='\n')printf("please input right symbol (+,-,*,/):\n");
ch=getchar();
}
printf("iuput the second value: ");
scanf("%f",&b);
switch(ch)
{ case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
}
printf("\n\nthe result is : %f\n",c);
getch();
do
{
printf("\n\n\nare you want to continu press c ");
printf("\nare you want to exit press x\n");
for(key=getchar();key!='x'&&key!='c';)
key=getchar();

if(key!='c') break;
clrscr();
a=c;
printf("the last result is : %f\n",a);
printf("\n\n\n\ninput symbol(+,-,*,/): ");
do
{
ch=getchar();
}while(ch==' '||ch=='\n');
while(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')
{if(ch!=' ')printf("please input right symbol (+,-,*,/):\n");
ch=getchar();
}
printf("iuput the second value: ");
scanf("%f",&b);
switch(ch)
{ case '+':c=a+b;break;
case '-':c=a-b;break;
case '*':c=a*b;break;
case '/':c=a/b;break;
}
printf("\n\nthe result is : %f\n",c);
}while(1);

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式