以计算器简单应用的C语言函数调用源码

简介: 以计算器简单应用的C语言函数调用源码


#include <stdio.h>
#include <stdlib.h>
void tips()//定义tips
  {
    printf("**********************\n");//输出
    printf("**小浩版计算器****\n");//输出
  void tipswhichcalc(char suanfa)//声明选择是是什么算法,并定义算法
  {
    switch(suanfa)算法传参
    {
      case '+': //如果是加法 
      printf("你计算的是加法\n");//输出加法
      break;//退出
      case '-': //如果是减法 
      printf("你计算的是减法\n");//输出减法
      break;//退出
      case '*':  //如果是乘法
      printf("你计算的是乘法\n");//输出乘法
      break;//退出
      case '/':  //如果是除法
      printf("你计算的是除法\n");//输出除法
      break;//退出
      default://除非
      printf("你选择的算法超出计算器能力\n");//输出
      break;//退出
    }
  } 
int jiafa(int x,int y)//声明加法
   { 
    int z;//定义整形变量z
    z = x+y;//z=x+y
    return z;//返回z
   }
int jianfa(int x,int y)//声明减法
   { 
    int z;
    z = x-y;
    return z;
   }
int chengfa(int x,int y)//声明乘法
   { 
    int z;
    z = x*y;
    return z;
   }
int chufa(int x,int y)//声明除法
   { 
    int z;
    z = x/y;
    return z;
   }
  void realcalc (int data1,int data2,char suanfa)//声明 realcalc 
  {
    switch(suanfa)//循环语句,根据printf传参给suanfa
    {
        case '+':
        printf("你计算的加法结果是%d\n",jiafa(data1,data2));//调用加法
        break;
        case '-':
        printf("你计算的减法结果是%d\n",jianfa(data1,data2));//调用减法
        break;
        case '*':
        printf("你计算的乘法结果是%d\n",chengfa(data1,data2));//调用乘法
        break;
        case '/':
        printf("你计算的除法结果是%d\n",chufa(data1,data2));//调用除法
        break;
    }
  }    
void calc(char suanfa)//声明calc
 {
     int data1;
     int data2;
     tipswhichcalc(suanfa);//调用tipswhichcalc里传回suanfa的参数
     printf("请输入第一个数\n");//输出第一个数
     scanf("%d",&data1);//输入数给data1
     printf("请输入第二个数\n");//输出第二个数
     scanf("%d",&data2);//输出数给data2
   realcalc(data1,data2,suanfa);//调用realcalc,并定义形参
 }
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);//先输入了+,再输入了回车。
      getchar();//回车符也是一种字符,getchar函数用来获取一个字符,在这里的作用是把回车吸收掉。
       calc(suanfa);//调用calc
    }
  system("pause");//使界面一直显示
  return 0;
}
//其中有多次调用为精髓,形参后再形参再计算传参


20200531225743528.png

如有不足之处请批评指正。

相关文章
|
26天前
|
C语言
在C语言中数组作为函数参数的应用与示例
在C语言中数组作为函数参数的应用与示例
13 0
|
26天前
|
算法 C语言
在C语言中函数的递归调用及应用示例
在C语言中函数的递归调用及应用示例
15 1
|
26天前
|
C语言
在C语言中多维数组名作为函数参数的应用与示例
在C语言中多维数组名作为函数参数的应用与示例
12 0
|
26天前
|
存储 程序员 C语言
深入探讨C语言中的字符型数据类型及其应用
深入探讨C语言中的字符型数据类型及其应用
13 0
|
14天前
|
C语言 索引
基于C语言的函数指针应用-消息命令处理框架
基于C语言的函数指针应用-消息命令处理框架
11 0
|
15天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作
|
19天前
|
存储 C语言
C语言实现简易计算器
C语言实现简易计算器
12 1
|
26天前
|
C语言
在C语言中内部函数的应用与示例
在C语言中内部函数的应用与示例
10 2
|
26天前
|
C语言
在C语言中函数的返回值及其应用示例
在C语言中函数的返回值及其应用示例
15 2
|
26天前
|
存储 程序员 C语言
探索C语言中的浮点型数据类型及其应用
探索C语言中的浮点型数据类型及其应用
18 0