问题如下:手搓一个简易计算器
分析问题:首先看一下这个题,经过读题我们得知要计算一个简易的计算器,那么就需要用函数,代码如下:
#include <stdio.h>
void xing(int shu);
void biaoti(int kong,char * title);
void zhuyemian(char *title);
void sizeyunsuan();
void guocheng(char w);
void xing(int shu)
{
int i;
for(i=0;i<=shu;i++)
printf("* ");
printf("\n");
}
void biaoti(int kong,char * title)
{
int j;
for(j=0;j<=kong;j++)
printf(" ");
printf("%s\n",title);
printf("\n");
}
void zhuyemian(char *title)
{
xing(59);
biaoti(50,title);
xing(59);
}
void sizeyunsuan()
{
int d;
char w;
system("cls");
zhuyemian("四则运算");
printf("请选择您要进行运算的类型(选择1234输入,按回车),并进行计算\n\n");
printf("1.加法运算\n\n");
printf("2.减法运算\n\n");
printf("3.乘法运算\n\n");
printf("4.除法运算\n\n");
scanf("%d",&d);
if(d==1)
{
system("cls");
zhuyemian("加法运算");
w='+';
}
if(d==2)
{
system("cls");
zhuyemian("减法运算");
w='-';
}
if(d==3)
{
system("cls");
zhuyemian("乘法运算");
w='*';
}
if(d==4)
{
system("cls");
zhuyemian("除法运算");
w='/';
}
guocheng(w);
}
void guocheng(char w)
{
double A,B,C;
char r='y';
printf("请输入两个数,中间用逗号隔开\n");
while(r=='y'||r=='Y')
{
scanf("%lf,%lf",&A,&B);
if(w=='+')
C=A+B;
else if(w=='-')
C=A-B;
else if(w=='*')
C=A*B;
else if(w=='/')
{
if(B==0)
C==0;
C=A/B;
}
printf("%lf%c%lf=%lf",A,w,B,C);
printf("是否继续Y\n");
r=getchar();
r=getchar();
}
sizeyunsuan();
}
int main()
{
sizeyunsuan();
}
代码解析:我们看一下这部分代码,可以看出首先通过函数写出了加减乘除,然后套用,即可得出。