主题:求一程序。。。。。设计一个简单计算软件
幽默之感
[专家分:0] 发布于 2008-11-12 18:55:00
实现功能:
1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。按‘C’清屏,按‘R’返回 菜单。
例如:输入:2
+
5
输出:7
2)实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下:
例如:输入:2+5
输出:7
求
最后更新于:2008-11-13 12:28:00
回复列表 (共3个回复)
沙发
幽默之感 [专家分:0] 发布于 2008-11-13 12:23:00
帮帮忙啊
板凳
neverPE [专家分:1620] 发布于 2008-11-16 13:43:00
有偿么? 出钱还可以考虑
3 楼
dingqian1987 [专家分:10] 发布于 2008-11-17 00:15:00
自己改改添加一个清屏程序吧,用clrscr()即可
/***************************************************
date: 2008/11/16
function: simple computer
***************************************************/
#include<stdio.h>
#include<conio.h>
void int_com()
{
int number1,number2,result;
char sign;
printf("请输入第一个操作数:\n");
scanf("%d",&number1);
printf("\n");
printf("请输入运算符号:\n");
scanf("%s",&sign);
printf("\n");
printf("请输入第二个操作数:\n");
scanf("%d",&number2);
printf("\n");
switch(sign)
{
case '+':result=number1+number2;printf("运算的结果是:%d\n",result);break;
case '-':result=number1-number2;printf("运算的结果是:%d\n",result);break;
case '*':result=number1*number2;printf("运算的结果是:%d\n",result);break;
case '/':if(number2==0)
printf("除数不能为零\n");
else
result=number1/number2;printf("运算的结果是:%f\n",result);break;
default:printf("运算符输入错误\n");break;
}
printf("请按任意键继续计算\n");
getch();
printf("\n");
}
void float_com()
{
float number1,number2,result;
char sign;
printf("请输入第一个操作数:\n");
scanf("%f",&number1);
printf("\n");
printf("请输入运算符号:\n");
scanf("%s",&sign);
printf("\n");
printf("请输入第二个操作数:\n");
scanf("%f",&number2);
printf("\n");
switch(sign)
{
case '+':result=number1+number2;printf("运算的结果是:%f\n",result);break;
case '-':result=number1-number2;printf("运算的结果是:%f\n",result);break;
case '*':result=number1*number2;printf("运算的结果是:%f\n",result);break;
case '/':if(number2==0)
printf("除数不能为零\n");
else
result=number1/number2;printf("运算的结果是:%f\n",result);break;
default:printf("运算符输入错误\n");break;
}
printf("请按任意键继续计算\n");
getch();
printf("\n");
}
void int_expr()
{
int number1,number2,result;
char sign;
printf("请输入运算表达式:\n");
scanf("%d%c%d",&number1,&sign,&number2);
printf("\n");
switch(sign)
{
case '+':result=number1+number2;printf("运算的结果是:%d\n",result);break;
case '-':result=number1-number2;printf("运算的结果是:%d\n",result);break;
case '*':result=number1*number2;printf("运算的结果是:%d\n",result);break;
case '/':if(number2==0)
printf("除数不能为零\n");
else
result=number1/number2;printf("运算的结果是:%d\n",result);break;
default:printf("运算符输入错误\n");break;
}
printf("请按任意键继续计算\n");
getch();
printf("\n");
}
void float_expr()
{
float number1,number2,result;
char sign;
printf("请输入运算表达式:\n");
scanf("%f%c%f",&number1,&sign,&number2);
printf("\n");
switch(sign)
{
case '+':result=number1+number2;printf("运算的结果是:%f\n",result);break;
case '-':result=number1-number2;printf("运算的结果是:%f\n",result);break;
case '*':result=number1*number2;printf("运算的结果是:%f\n",result);break;
case '/':if(number2==0)
printf("除数不能为零\n");
else
result=number1/number2;printf("运算的结果是:%f\n",result);break;
default:printf("运算符输入错误\n");break;
}
printf("请按任意键继续计算\n");
getch();
printf("\n");
}
void main()
{
printf("************欢迎使用本计算器***********\n");
printf("\n");
int select;
char esc;
start:
printf("输入操作选择 1:整型计算 2:浮点计算 3:整形表达式计算 4:浮点表达式计算 5:退出\n");
scanf("%d",&select);
switch(select)
{
case 1:printf("整型数计算\n\n");int_com();goto start;break;
case 2:printf("浮点数计算\n\n");float_com();goto start;break;
case 3:printf("整形表达式计算\n\n");int_expr();goto start;break;
case 4:printf("浮点表达式计算\n\n");float_expr();goto start;break;
case 5:printf("是否退出本计算器 y?");scanf("%s",&esc);if(esc=='y') break;
else {goto start;}
default:printf("错误的输入:请重新选择计算类型\n\n");goto start;break;
}
}
/*调试问题:如何使用gets()函数,好象是只对字符串或者字符数组起作用来着*/
/*程序存在一个小bug*/
/*实现功能:
1 具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。按‘C’清屏,按‘R’返回 菜单。
例如:输入:2
+
5
输出:7
2 实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下:
例如:输入:2+5
输出:7*/
我来回复