C语言计算器程序编写(源码+解析)
使用C语言编写一个程序,模拟具有加、减、乘、除 4 种功能的简单计算器。
我们先给出完整的代码:
当进行除法运算时,若除数为零,程序则会提醒用户再一次输入算式,直到除数不为零为止。
当输入的运算符为其他字符时,程序就会提醒“非法输入”。是否进行运算,可根据提示按 Y 或 y 即可。若此时输入的符号为除了 Y 和 y 的其他符号,计算器结束运行。
运行结果示例:
本范例用选择和循环语句实现了程序功能。该程序首先进行程序的初始化操作,然后进行循环设置,在循环体内完成处理命令、显示运算结果、提示用户输入命令字符以及读命令字符等工作。程序总的控制结构是一个 while 循环,而对于不同的命令处理,则用多分支的 switch 语句来完成,它嵌套在循环语句当中。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
我们先给出完整的代码:
#include <stdio.h>
int main()
{
char command_begin; /*开始字符*/
double first_number; /*第1个数*/
char character; /*运算符(+、-、*、/)*/
double second_number; /*第2个数*/
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); /*输入一个算式*/
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); /*输入一个算式*/
}
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"); /*退出循环时显示提示信息*/
}
编译、连接、运行程序,根据提示输入 Y 或 y 时,开始计算,从键盘上输入一个简单的算式,如 5/3,按【Enter】键,即可计算出结果。按 Y 或 y,可继续使用计算器运算。当进行除法运算时,若除数为零,程序则会提醒用户再一次输入算式,直到除数不为零为止。
当输入的运算符为其他字符时,程序就会提醒“非法输入”。是否进行运算,可根据提示按 Y 或 y 即可。若此时输入的符号为除了 Y 和 y 的其他符号,计算器结束运行。
运行结果示例:
简单计算器程序
----------------
在'>' 提示后输入一个命令字符
是否开始?(Y/N)>y
请输入一个简单的算式:5/3
等于1.666667
是否继续运算?(Y/N)>y
请输入一个简单的算式:6*9
等于54.000000
是否继续运算?(Y/N)>n
程序退出!
本范例用选择和循环语句实现了程序功能。该程序首先进行程序的初始化操作,然后进行循环设置,在循环体内完成处理命令、显示运算结果、提示用户输入命令字符以及读命令字符等工作。程序总的控制结构是一个 while 循环,而对于不同的命令处理,则用多分支的 switch 语句来完成,它嵌套在循环语句当中。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。