简易版计算器
#include<stdio.h>
void show_title(char *title);
void show_xing(int shu);
void show_biaoti(int kong,char *title);
void show_main();
void show_neibu(char i,char *title);
void show_title(char *title)//主题函数,用来显示*号、空格和标题
{
//调用*号的函数
show_xing(40);
//调用标题的函数
show_biaoti(34,title);
//再次调用*号的函数
show_xing(40);
}
void show_xing(int shu)//显示*号函数
{
int i;
//用来显示*号的循环
for(i=0;i<shu;i++)
printf("* ");
//换行
printf("\n");
}
void show_biaoti(int kong,char *title)//用来显示空格和标题的函数
{
int i;
//用来显示空格的循环
for(i=0;i<kong;i++)
printf(" ");
//用来显示标题
printf("%s",title);
//换行
printf("\n\n");
}
void show_main()//主页面函数
{
int xuanze;
char i,r;
system("cls");
//调用主题函数
show_title("四则运算");
//主页面显示选项和提示
printf("1、加法计算\n\n");
printf("2、减法计算\n\n");
printf("3、乘法计算\n\n");
printf("4、除法计算\n\n");
printf("请选择要进行的选项,选择完按“回车”继续:\n\n");
//输入选项
scanf("%d",&xuanze);
//当xuanze之后的执行,决定i的值,并将i送到show_neibu
if(xuanze==1)
{
i='+';
show_neibu(i,"加法运算");
}
else if(xuanze==2)
{
i='-';
show_neibu(i,"减法运算");
}
else if(xuanze==3)
{
i='*';
show_neibu(i,"乘法运算");
}
else if(xuanze==4)
{
i='/';
show_neibu(i,"除法运算");
}
else
{
printf("输入错误!!!!!!!\n");
printf("是否重新输入,按y/Y继续,按其他键结束\n");
r=getchar();
scanf("%c",&r);
if(r=='y'||r=='Y')
show_main();
}
}
void show_neibu(char i,char *title)//主体运算
{
double a,b,c;
char r='y';
system("cls");
//调用显示标题的函数
show_title(title);
//决定是继续操作还是结束操作
while(r=='y'||r=='Y')
{
//提示信息
printf("请输入两个要计算的数(两个数之间用逗号隔开),结束按“回车”键:\n\n");
//输入要计算的数
scanf("%lf,%lf",&a,&b);
//当i的值不同时不同的计算
if(i=='+')
c=a+b;
if(i=='-')
c=a-b;
if(i=='*')
c=a*b;
if(i=='/')
{
if(b==0)
c=0;
else
c=a/b;
}
//显示计算结果
printf("%.2f %c %.2f = %.2f\n",a,i,b,c);
//显示继续还是结束的提示信息
printf("是否继续 y/Y继续计算,其他键结束\n");
//输入空字符
r=getchar();
//选择继续还是结束
scanf("%c",&r);
}
//当结束时返回主页面
show_main();
}
int main()
{
//调用主页面的函数
show_main();
}