#include <stdio.h>
/*是指标准库中输入输出流的头文件*/
void main()
{
char command_begin;
/*开始字符*/
double first_number; /*第一个数*/
char character;
/*运算符(+、-、*、/)*/
double second_number;
/*第二个数*/
double value;
/*计算结果*/
printf("简单计算器程序\n----------------\n");
printf("在'>' 提示后输入一个命令字符\n");
/*输出提示信息*/
printf("是否开始?(Y/N)>");
/*输出提示信息*/
scanf("%c",&command_begin);
/*输入Y/N; */
while(command_begin=='Y'||command_begin=='y') {
/*当接收Y/y命令时执行计算器程序*/
printf("请输入一个简单的算式:");
/*输出提示信息*/
scanf("%lf%c%lf",&first_number,&character,&second_number);
/*输入一个算式,如3+5*/
switch(character) {
/*判断switch语句的处理命令*/
case '+':
/*当输入运算符为"+"时,执行如下语句*/
value=first_number+second_number;
/*进行加法运算*/
printf("等于%lf\n",value);
break;
/*转向switch语句的下一条语句*/
case '-':
/*当输入运算符为"-"时,执行如下语句*/
value=first_number-second_number;
/*进行减法运算*/
printf("等于%lf\n",value);
break;
/*转向switch语句的下一条语句*/
case '*':
/*当输入运算符为"*"时,执行如下语句*/
value=first_number*second_number;
/*进行乘法运算*/
printf("等于%lf\n",value);
break;
/*转向switch语句的下一条语句*/
case '/':
/*当输入运算符为"/"时,执行如下语句*/
while(second_number==0){
/*若除数为零,重新输入算式,直到除数不为零为止*/
printf("除数为零,请输入一个算式:");
/*输出提示信息*/
scanf("%lf%c%lf",&first_number,&character,&second_number);
/*输入一个算式,如3+5*/
}
value=first_number/second_number;
/*进行除法运算*/
printf("等于%lf\n",value);
break;
/*转向switch语句的下一条语句*/
default:
printf("非法输入!\n");
/*当输入命令为其他字符时,执行如下语句*/
}
//结束switch语句
printf("是否继续运算?(Y/N)>");
/*输出提示信息*/
fflush(stdin);
//清空缓冲区
scanf("%c",&command_begin);
/*输入命令类型如y/Y*/
}
//结束while循环语句
printf("程序退出!\n");
/*退出循环时显示提示信息*/
}