#include
using namespace std;
void fun1();
void fun2();
void fun3();
void fun4();
void main()
{
float x ,y,z;
char m ,n; //输入的是字符
cout<<"请输入第一个数"< cin>>x;//输入第一个数
cin>>m;
cout< switch (m)//判断是“加”“减”“乘”“除”
{
case "+":
fun1()
break;
case "-":
fun2()
break;
case "*":
fun3()
break;
case "/":
fun4()
break;
else
cout<<"输入字符错误,请重新输入"< return switch(m);
}
cout<<"x"< cout<<"请再输入一个字符,来判断你是要清屏还是返回菜单,"
cin>>n;
switch(n)
{
case 'C':
cls break;
case 'R':
return main()
}
}
void fun1()
{
cout<<"请再输入第二个数"< z=x+y;
return z;//把 “Z”返回到上边输出
}
.....
.....
.....
.....
兄弟我现在在网吧通宵呢,就写了这么一个,也不知道对不对,你在电脑上运行一下。
不过总的思路就是一个主函数里边有四个小函数,分别实现 加 减 乘 除 ,然后再把它返回、
--------------------next---------------------
#include
#include
#include
void main()
{
KAISHI:system("color E"); //选择颜色
float num1,num3,result;
char num2,num4;
int m;
printf("------------------------多功能计算器-----------------------\n");
printf("选择运算模式:");
printf("运算模式1*****运算模式2\n");
printf("运算模式:");
scanf("%d",&m);
fflush(stdin); //刷新标准输入缓冲区,把缓冲区里的东西丢弃
while(1)
{
switch(m)
{
case 1: //运算模式1
printf("输入第一个数据:"); //分步输入数据和运算符
scanf("%f",&num1);
fflush(stdin);
printf("输入运算符:");
scanf("%c",&num2);
printf("输入第二个数据:");
scanf("%f",&num3);
if (num2=='+')
printf("%g\n",result=num1+num3);
else if (num2=='-')
printf("%g\n",result=num1-num3);
else if (num2=='*')
printf("%g\n",result=num1*num3);
else if (num2=='/')
{
if (num3!=0)
printf("%g\n",result=num1/num3);
else
printf("输入错误\n");
}
break;
case 2: //运算模式2
printf("输入表达式:"); //输入表达试
scanf("%f%c%f",&num1,&num2,&num3);
if (num2=='+')
printf("%g\n",result=num1+num3);
else if (num2=='-')
printf("%g\n",result=num1-num3);
else if (num2=='*')
printf("%g\n",result=num1*num3);
else if (num2=='/')
{
if (num3!=0)
printf("%g\n",result=num1/num3);
else
printf("输入错误\n");
}
break;
}
JIESHU:printf("继续运算请按B,清屏请按C,返回请按R: "); //实现功能清屏和返回
scanf("%c",&num4);
num4=getchar();
if(num4=='C') system("cls"); //清屏
else if(num4=='R') goto KAISHI; //返回菜单
else if ("num4==B")
{
num1=result;fflush(stdin);
printf("输入运算符:");
scanf("%c",&num2);
fflush(stdin);
printf("输入第二个数据:");
scanf("%f",&num3);
if (num2=='+')
printf("%g\n",result=num1+num3);
else if (num2=='-')
printf("%g\n",result=num1-num3);
else if (num2=='*')
printf("%g\n",result=num1*num3);
else if (num2=='/')
{
if (num3!=0)
printf("%g\n",result=num1/num3);
else
printf("输入错误\n");
}
}
goto JIESHU;
}
}
--------------------next---------------------
阅读(1173) | 评论(0) | 转发(0) |