C语言简易计算器
#include <stdio.h>
#include <stdlib.h>
int add(int data1,int data2){
int z;
z=data1+data2;
return z;
}
int min(int data1,int data2){
int z;
z=data1-data2;
return z;
}
int mul(int data1,int data2){
int z;
z=data1*data2;
return z;
}
float cf(int data1,int data2){
float z;
if(data2!=0)
z=(float)data1/data2;
else
printf("除数不能为0\n");
return z;
}
int tipsWhichsuanfa(char suanfa)
{ int set;
set=0;
switch(suanfa){
case '+':
printf("你选择了加法运算。\n");
break;
case '*':
printf("你选择了乘法运算。\n");
break;
case '/':
printf("你选择了除法运算。\n");
break;
case '-':
printf("你选择了减法运算。\n");
break;
default:
printf("请输入正确的运算符号!!!\n");
set=1;
break;
}
return set;
}
void calc(char suanfa){
int data1;
int data2;
printf("请输入第一个数\n");
scanf("%d",&data1);
printf("请输入第二个数\n");
scanf("%d",&data2);
count(data1,data2,suanfa);
}
void count(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 '/':
if(data2!=0)
printf("运算结果为:%d/%d=%f\n",data1,data2,cf(data1,data2));
else
printf("运算结果出错!!!仔细检查:除数不能为0等情况\n");
break;
default:
printf("出错!\n");
break;
}
}
void tips()
{
printf("*********************请输入相应运算符,参与运算******************\n");
printf("*****************************************************************\n");
printf("*********************************设计者:杨贵龙******************\n");
printf("*****************************************************************\n");
}
int main()
{
int data1;
int data2;
char suanfa;
int mark=0;
int t=0;
while(1)
{
tips();
if(mark!=0)
getchar();
mark=1;
scanf("%c",&suanfa);
getchar();
t=tipsWhichsuanfa(suanfa);
while(t==1)
{ printf("请重新输入运算符\n");
scanf("%c",&suanfa);
getchar();
t=tipsWhichsuanfa(suanfa);
}
calc(suanfa);
}
system("pause");
return 0;
}