c语言写出的简易计算器

#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();
}

猜你喜欢

转载自blog.csdn.net/mishilq/article/details/83010773