C语言——用户可以选择算法,对两个数进行操作

#include <stdio.h>
#include <stdlib.h>

/*
1.有两个参数,两个参数都是整数
2.有一个整数返回值
*/

int   add(int x,int y)
{
       int z;
       z=x+y;
       
       return z;
}



int   min(int x,int y)
{
       int z;
       z=x-y;
       
       return z;
}


int   mul(int x,int y)
{
       int z;
       z=x-y;
       
       return z;
}



float chufa(int x,int y)
{
       float z;
       z=(float)x/y;
        //不同类型数据运算时,比如两个整数相除,
       //必须将除数或者被除数强制转换成小数,否则小数点后面的数据被忽略
       
       return z;
}

void   tips()
{
       printf("*************************\n");
       printf("*************************\n");
       printf("*********计算器**********\n");
       printf("***请选择算法 + - * /***\n");
       printf("*************************\n");
       printf("*************************\n");
}

void  calc(char suanfa)
{
     int  data1;
     int  data2;
     
     switch(suanfa)
   {
         case '+':              
             printf("你选择了加法\n");     
             break;
                
         case '-':
             printf("你选择了减法\n");
             break;
                
         case '*':
             printf("你选择了乘法\n");      
             break;
                
        case '/':
             printf("你选择了除法\n");
             break;  
                
        default:
            printf("请在加减乘除中选择算法\n");
            break;      
         }
       
         printf("请输入第一个数据\n");
         scanf("%d",&data1);
         printf("请输入第二个数据\n");
         scanf("%d",&data2);
         
          switch(suanfa)
         {
             case '+':              
          
                 printf("两数相加,结果;%d\n", add(data1,data2));
                 break;
                
             case '-':
                
                 printf("两数相减,结果;%d\n", min(data1,data2));
                 break;
                
             case '*':
              
                 printf("两数相乘,结果;%d\n",mul(data1,data2));
                 break;
                
             case '/':
                  
                 printf("两数相减,结果;%f\n",chufa(data1,data2));
                 break;  
                
             default:
                  printf("请在加减乘除中选择算法\n");
                  break;          
         }
}

int main()
{
        	int  data1;
            int  data2;
            int  ret;
            float  retchufa;
            char   suanfa;   
           int  mark=0;
    
       while(1)
    {
         tips();
        
         if(mark!=0)
         getchar();//是把输入data2以后的回车吸收掉,不想第一次进来的时候被调用,通过mark来控制
          
         mark=1;         
         scanf("%c",&suanfa);/*算法是字符,要用%c,先输入了算法,再输入了回车*/
         getchar();//回车符也是一种字符,getchar函数用来获取一个字符,在这里的
         //作用是把回车吸收掉
         
         calc(suanfa);
         
    }
    
    	system("pause");
	   return 0;
}

运行结果
在这里插入图片描述

——@上官可编程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值