C语言学习(一)—函数学习与封装

C语言学习(一)—函数学习与封装

前言:
本文用来记录自己的学习过程,主要是c语言中函数的初步学习和简单封装。例程为实现一个简单加减乘除计算器:用户选择算法后,程序提示用户进行两个算数的输入,并根据用户选择的算法进行计算后输出。

函数学习记录

在这里插入图片描述

简单加减乘除计算器

#include <stdio.h>
#include <stdlib.h>
void tips()
{   
    printf("*****************************************\n");
	printf("*****************************************\n");
	printf("*********请输入一种算法+ — * /**********\n");
    printf("*****************************************\n");
    printf("*****************************************\n");
}
        
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;
}

int suanfaCall(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 '/':
				printf("除法计算:%d/%d=%f\n",data1,data2,chufa(data1,data2));        
			break;
		}	
}
    

void suanfaClaim(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");*/
    }   
        printf("请输入第一个数:\n");
        scanf("%d",&data1);
        printf("请输入第二个数:\n");
        scanf("%d",&data2);
        
        suanfaCall(data1,data2,suanfa);
    
}

int main()
{       
        int data1;
		int data2;
		int ret;
        float retchufa;
        char suanfa;
        int mark=0;
        
	while(1){
        tips();
        if (mark!=0){
			getchar();
        }
        mark==1;
        scanf("%c",&suanfa);
        getchar();//getchar函数用来吸收一个字符,这里用来吸收回车。
        if(suanfa!='+'&&suanfa!='-'&&suanfa!='*'&&suanfa!='/')
        {
            printf("您输入的算法错误,退出程序!!!\n");
			break;
        }

        suanfaClaim(suanfa);
		
}
	system("pause");
	return 0;
}




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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值