#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;
}
运行结果
——@上官可编程