以计算器简单应用的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;
}


//其中有多次调用为精髓,形参后再形参再计算传参

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值