C语言 函数综合 小计算器
程序员文章站
2022-06-08 22:13:42
...
#include <stdio.h>
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 chu(int x,int y)
{
float z;
z=(float)x/y;
return z;
}
void tips() //提示
{
printf("****************************************\n");
printf("********请选择一种算法 + - x / *********\n");
printf("****************设计者:大帅哥**********\n");
printf("****************************************\n");
printf("****************************************\n");
printf("****************************************\n");
}
int tipsWhichCalc(char suanFa) //选择算法
{
switch(suanFa) {
case '+':
printf("你选择了加法\n");
break;
case '-':
printf("你选择了减法\n");
break;
case 'x':
printf("你选择了乘法\n");
break;
case '/':
printf("你选择了除法\n");
break;
default:
printf("算法选择错误\n");
return -1;
break;
}
return 0;
}
void resultCalc(int data1,int data2,char suanFa) //输出结果
{
switch(suanFa) {
case '+':
printf("两数相加,结果为:%d\n",add(data1,data2));
break;
case '-':
printf("两数相减,结果为:%d\n",min(data1,data2));
break;
case 'x':
printf("两数相乘,结果为:%d\n",mul(data1,data2));
break;
case '/':
printf("两数相除,结果为:%f\n",chu(data1,data2));
break;
default:
break;
}
}
int calc(char suanFa) //计算,调用前两个函数
{
int data1;
int data2;
int ret;
ret=tipsWhichCalc(suanFa);
if(ret==-1)
return -1;
printf("请输入第一个数据:\n");
scanf("%d",&data1);
printf("请输入第二个数据:\n");
scanf("%d",&data2);
resultCalc(data1,data2,suanFa);
}
int main()
{
int data1;
int data2;
int ret;
char suanFa;
int mark=0;
while(1) {
tips();
if(mark != 0)
getchar(); //吸收data2后的回车,不想一进来就被调用,所以用mark控制
mark=1;
scanf("%c",&suanFa); //先输入了+,再输入回车
getchar(); //回车符也是字符,getchar作用是把回车吸收掉
ret=calc(suanFa);
if(ret==-1) {
printf("你输入了错误算法\n");
break;
}
}
return 0;
}
上一篇: c# 计算器
下一篇: Docker 常用命令整理(实用篇)