用c语言编一个计算器程序,能够实现基本的加减乘除,能够输出运算对象,运算符,运算结果。谢谢啦!

如题所述

# include <stdio.h>
int main(void)
{
double a, b;
int chose;

printf("欢迎使用我的计算器\n");
while (1)
{
printf("********************\n");
printf("1、两数相加\n");
printf("2、两数相减\n");
printf("3、两数相乘\n");
printf("4、两数相除\n");
printf("5、退出\n");
printf("********************\n");

scanf("%d", &chose);

/* if (chose<1 || chose>5)
{
printf("你的输入有误,请重新输入!\n");
continue;
}*/

switch (chose)
{
case 1:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf+%lf = %lf\n", a, b, a+b);
break;
case 2:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf-%lf = %lf\n", a, b, a-b);
break;
case 3:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf*%lf = %lf\n", a, b, a*b);
break;
case 4:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf/%lf = %lf\n", a, b, a/b);
break;
case 5:
printf("再见!\n");
return  ;
default:
printf("你的输入有误,请重新输入!\n");
continue;

}

}
}

 

追问

总是显示有一个错误。

我用的是VC6.0

追答

错误提示是什么呢?你把 int main() 改成 void main()

追问

追答#include <stdio.h>
void main(void)
{
double a, b;
int chose;

printf("欢迎使用我的计算器\n");
while (1)
{
printf("********************\n");
printf("1、两数相加\n");
printf("2、两数相减\n");
printf("3、两数相乘\n");
printf("4、两数相除\n");
printf("5、退出\n");
printf("********************\n");

scanf("%d", &chose);

switch (chose)
{
case 1:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf+%lf = %lf\n", a, b, a+b);
break;
case 2:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf-%lf = %lf\n", a, b, a-b);
break;
case 3:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf*%lf = %lf\n", a, b, a*b);
break;
case 4:
printf("请输入第一个数字:\n");
scanf("%lf", &a);
printf("请输入第二个数字:\n");
scanf("%lf", &b);
printf("%lf/%lf = %lf\n", a, b, a/b);
break;
case 5:
printf("再见!\n");
return;
default:
printf("你的输入有误,请重新输入!\n");
continue;
}
}
}//你把这个完整的复制,代码把你的VC++6.0的全部删除。

追问

还是有错

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-21
#include <stdio.h>
int main(void)
{
    float a,b,result;
    char c;
    printf("请输入计算式:");
    scanf("%f%c%f",&a,&c,&b);
    switch(c)
    {
        case '+':
            result=a+b;
            break;
        case '-':
            result=a-b;
            break;
        case '*':
            result=a*b;
            break;
        case '/':
            result=a/b;
            break;
    }
    printf("%f%c%f=%f\n",a,c,b,result);
    return 0;
}

追问

老是显示有一个错误。

我用的是vc6.0。

追答

不用vc6.0很多年了,现在用的编译器支持C11标准,以上代码完美运行。

把int main(void)中的void去掉试试。

#include <stdio.h>
int main()
{
    float a,b,result;
    char c;
    printf("请输入计算式:");
    scanf("%f%c%f",&a,&c,&b);
    switch(c)
    {
        case '+':
            result=a+b;
            break;
        case '-':
            result=a-b;
            break;
        case '*':
            result=a*b;
            break;
        case '/':
            result=a/b;
            break;
    }
    printf("%f%c%f=%f\n",a,c,b,result);
    return 0;
}

追问

还是有错

追答

不清楚

本回答被网友采纳