今天我们来看一个简单的计算器程序,该计算器比较麻瓜,主要通过它来巩固我们对
switch-case开关语句知识。
闲话少说,上代码:
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char c = '0', flage = 'Y'; //便于进入while循环,也可以选择用都do—while循环
long double a, b;
printf("我是一个由c语言编写成的计算机, 我可以计算加(+)减(-)乘(*)除(/)!\n");
printf("比如计算1+1,你只需按照“1+1”的格式输入即可(请严格按照格式输入哦)\n"); //输出提示
while (flage == 'Y' || flage == 'y')
{
printf("请输入: ");
scanf("%Lf%c%Lf", &a, &c, &b); //注意对符号的输入
switch (c) //switch-case语句来判断运算符号
{
case '+':
{
printf("%Lf + %Lf = %Lf\n\n", a, b, a + b);
break;
}
case '-':
{
printf("%Lf - %Lf = %Lf\n\n", a, b, a - b);
break;
}
case '*':
{
printf("%Lf * %Lf = %Lf\n\n", a, b, a * b);
break;
}
case '/':
{
if (b == 0)
{
printf("分母不能为0,"); //除法分母不能为0,并给出提示。
printf("返回上一级\n\n");
break;
}
printf("%Lf / %Lf = %Lf\n\n", a, b, a / b);
break;
}
default:
{
printf("格式不正确,请重新输入:\n\n");
}
}
printf("继续使用请输入Y,结束使用请输入N:\n\n"); //通过用户的输入判断是否继续使用计算器。
scanf(" %c", &flage);
}
printf("感谢你的使用!!");
return 0;
}
看一下运行结果:
显然该代码,非常的不健壮,只供学习使用。
未来,一定能写出更完整,健壮的计算机程序。