Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341631
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:48

#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) |
给主人留下些什么吧!~~