C语言老陈计算器

                              C语言简易计算器
#include <stdio.h>
#include <stdlib.h>
int add(int data1,int data2){
   int z;
   z=data1+data2;
   return z;
}

int min(int data1,int data2){
   int z;
   z=data1-data2;
   return z;
}

int mul(int data1,int data2){
   int z;
   z=data1*data2;
   return z;
}

float cf(int data1,int data2){
   float z;
   if(data2!=0)
   z=(float)data1/data2;
   else
   printf("除数不能为0\n");
   return z;
}

int tipsWhichsuanfa(char suanfa)
{  int set;
   set=0;
 switch(suanfa){
   case '+':
            printf("你选择了加法运算。\n");
            break;
   case '*':
            printf("你选择了乘法运算。\n");
            break;
   case '/':
            printf("你选择了除法运算。\n");
            break;
   case '-':
            printf("你选择了减法运算。\n");
            break;
   default:
            printf("请输入正确的运算符号!!!\n");
            set=1;
            break;
}
            /*printf("%d\n",set);*/   //检查set值,查看set值有无正确赋值//
            return set;

}

void calc(char suanfa){
      int data1;
      int data2;
      printf("请输入第一个数\n");
      scanf("%d",&data1);
      printf("请输入第二个数\n");
      scanf("%d",&data2);
      count(data1,data2,suanfa);
}

void count(int data1,int data2,char suanfa){
     switch(suanfa)
{
     case '+':
       printf("运算结果为:%d+%d=%d\n",data1,data2,add(data1,data2));
       break;
     case '-':
       printf("运算结果为:%d-%d=%d\n",data1,data2,min(data1,data2)); 
       break;   
     case '*':
       printf("运算结果为:%d*%d=%d\n",data1,data2,mul(data1,data2)); 
       break;   
     case '/':
       if(data2!=0)
       printf("运算结果为:%d/%d=%f\n",data1,data2,cf(data1,data2)); 
       else
       printf("运算结果出错!!!仔细检查:除数不能为0等情况\n");
       break; 
     default:
       printf("出错!\n");
       break;
}  
}
void tips()
{
printf("*********************请输入相应运算符,参与运算******************\n");
printf("*****************************************************************\n");
printf("*********************************设计者:杨贵龙******************\n");
printf("*****************************************************************\n");
}    

int main()
{
   int data1;
   int data2;
   char suanfa;
   int mark=0;
   int t=0;
   while(1)
{
      tips();
      if(mark!=0)
        getchar();/*为了吸收回车键,但是在第一次进入时不希望调用getchar*/  
      mark=1;
      scanf("%c",&suanfa);
      getchar();
      t=tipsWhichsuanfa(suanfa);
      /*printf("%d\n",t);*/  //实时观察t值得状态,确保循环正常,检查程序//
  while(t==1)
{     printf("请重新输入运算符\n");
      scanf("%c",&suanfa);
      getchar();
      t=tipsWhichsuanfa(suanfa);
      /*printf("%d\n",t);*/  //实时观察t值得状态,确保循环正常,检查程序//
}
      calc(suanfa);
}
   

	system("pause");
    
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值