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;
}
运行结果: