该楼层疑似违规已被系统折叠隐藏此楼查看此楼
#include
#include
intgetOption(void);
voidgetData(int*num1,int*num2);
floatcalc(intoption,intnum1,intnum2);
floatadd(intnum1,intnum2);
floatsub(intnum1,intnum2);
floatmul(intnum1,intnum2);
floatdivs(intnum1,intnum2);
voidprintData(intnun1,intnum2,intoption,floatresult);
intmain(void)
{
intoption;
intnum1;
intnum2;
floatresult;
option=getOption();
getData(&num1,&num2);
result=calc(option,num1,num2);
printData(num1,num2,option,result);
return0;
}
intgetOption(void)
{
intoption;
printf("\t********************************");
printf("\n\t*MENU*");
printf("\n\t**");
printf("\n\t*1.ADD*");
printf("\n\t*2.SUBTRACT*");
printf("\n\t*3.MULTIPLY*");
printf("\n\t*4.DIVIDE*");
printf("\n\t**");
printf("\n\t********************************");
printf("\n\nPleasetypeyourchoice");
printf("andkeyreturn:");
scanf("%d",&option);
returnoption;
}
voidgetData(int*a,int*b)
{
printf("Pleaseentertwointegernumbers:");
scanf("%d%d",a,b);
return;
}
floatcalc(intoption,intnum1,intnum2)
{
floatresult;
switch(option)
{
case1:result=add(num1,num2);
break;
case2:result=sub(num1,num2);
break;
case3:result=mul(num1,num2);
break;
case4:if(num2==0.0)
{
printf("\n\a\aError:");
printf("divisionbyzero\n");
exit(100);
}
else
result=divs(num1,num2);
break;
default:printf("\aOptionnotavailable\n");
exit(101);
}
returnresult;
}
floatadd(inta,intb)
{
floatsum;
sum=a+b;
returnsum;
}
floatsub(inta,intb)
{
floatdif;
dif=a-b;
returndif;
}
floatmul(inta,intb)
{
floatproduct;
product=a*b;
returnproduct;
}
floatdivs(inta,intb)
{
floatquotient;
quotient=(float)a/b;
returnquotient;
}
voidprintData(inta,intb,intoption,floatresult)
{
switch(option)
{
case1:printf("\n%d+%d=%.0f\n",a,b,result);
break;
case2:printf("\n%d-%d=%.0f\n",a,b,result);
break;
case3:printf("\n%d*%d=%.0f\n",a,b,result);
break;
case4:printf("\n%d/%d=%.2f\n",a,b,result);
break;
default:printf("\n\a\a未知错误!\n");
exit(102);
}
return;
}