首页 百科知识 简易计算器

简易计算器

时间:2022-10-16 百科知识 版权反馈
【摘要】:首先,确定简易计算器的功能需求。考虑到计算器的可靠性和可用性,此程序应具有一定的错误提示功能。输入2,按,即进入计算器的主界面,如图1-5所示。根据提示输入一个整数,例如10。本章按照工程化的思想,详细介绍了一个简易计算器的开发流程。

简易计算器

生活中很多地方都会需要进行数值计算,有些计算比较简单,而有些就十分复杂。当然,可以借助于一些工具譬如计算器来帮助我们进行运算。大家对计算器都不陌生,方便实用的特性深受人们的喜爱。其实用C语言也可以开发出来一个简易版的计算器,下面我们就开始动手吧。

一、需求分析

首先,确定简易计算器的功能需求。日常生活中用得最多的是加、减、乘、除等基本运算,一般不涉及科学运算。因此该计算器属于简易版计算器,案例中的计算器具体功能包括:

(1)加法运算;

(2)减法运算;

(3)乘法运算;

(4)除法运算;

(5)取模(求余数)运算;

(6)阶乘运算;

(7)累加运算;

(8)求立方运算。

另外,该计算器具有简易的图形菜单,用户可以根据自己的相关需求选择某种运算进行操作。考虑到计算器的可靠性可用性,此程序应具有一定的错误提示功能。例如,在做除法运算时,除数不能为零等。如果用户输入的除数为零,提示出错信息并让用户重新选择运算功能。

二、总体设计

根据前面需求分析的结果,本计算器可以分成以下几个模块:菜单部分、加法运算部分、减法运算部分、乘法运算部分、除法运算部分、取模(求余数)运算部分、阶乘运算部分、累加运算部分及X的立方运算部分等,具体功能模块如图1-1所示。

img418

图1-1 总体设计

三、功能模块实现

接下来考虑程序的整体结构,前面学习过了函数的内容,每一个函数就像一个神奇的盒子,给它相应的参数后就可以得到某个输出。结合上面的功能分析,显然采用函数来实现是十分恰当的选择,即每个小功能对应一个函数,这些函数都被主函数调用。程序整体框架如下:

img419

下面针对具体的功能模块进行讨论。

(1)图形菜单模块

通过循环语句实现菜单的循环显示,switch语句根据用户键入的选项选择不同的运算功能。根据用户键入的版本代码显示相应的菜单界面。

img420

img421

(2)实现加法运算

实现加法运算需要两个输入,结果是两个数的和,如图1-2所示。

img422

图1-2

img423

(3)实现减法运算

实现减法运算需要两个输入,结果是两个数的差。

img424

(4)实现乘法运算

实现乘法运算需要两个输入,结果是两个数的乘积。

img425

(5)实现除法运算

实现除法运算需要两个输入,结果是两个数的商。

img426

这里需要特别注意,在做除法运算时除数不能为零,因此代码中通过使用if选择结构来判断除数是否为零。

(6)实现取模运算

实现取模运算需要两个输入,结果是两个数相除后的余数。

img427

这里同样需要判断除数是否为零。

考虑阶乘运算、累加运算和立方运算的特点,只需要一个输入。以阶乘运算为例,其特点如图1-3所示。

img428

图1-3

(7)实现阶乘运算

实现阶乘运算需要一个输入,结果是该数的阶乘。

img429

(8)实现立方运算

实现立方运算需要一个输入,结果是该数的立方。

img430

(9)实现累加运算

实现累加运算需要一个输入,结果是从1开始到该数的累加和。

img431

综上所述,所有函数声明如下表所示。

表 函数原型及功能

img432

四、案例源代码

img433

img434

img435

img436

img437

img438

五、系统运行

计算器的各项功能都已实现,下面来检验一下该计算器是否能够满足日常的简易运算的需要。

(1)单击【调试】工具栏中编译按钮、链接按钮和运行按钮即可运行系统。系统运行后在命令行中显示了操作菜单,如图1-4所示。输入相应的数字,按【Enter】键后即可进入相应的中英文菜单。

img439

图1-4

(2)选择中文菜单。输入2,按【Enter】,即进入计算器的主界面,如图1-5所示。根据需要选择相应的计算功能即可。

img440

图1-5

(3)选择加法运算。输入1,按【Enter】,即进入加法运算功能界面,如图1-6所示。。根据提示依次输入第一个加数和第二个加数即可。

img441

图1-6

(4)选择除法运算。输入4,按【Enter】,即进入除法运算功能界面,如图1-7所示。根据提示依次输入被除数和除数。

img442

图1-7

(5)选择累加运算。输入8,按【Enter】,即进入累加运算功能界面,如图1-8所示。根据提示输入一个整数,例如10。

img443

图1-8

六、程序分析

针对题目中的功能要求,程序中定义了若干个函数,其中显示菜单的有displayEmenu()和displayCmenu()两个函数,其内部代码只是中文、英文的差异;加、减、乘、除、取模这五个函数都含有两个参数,且返回类型一致;另外三个函数求立方、求阶乘和求累加和都是含有一个参数,这些函数都在主函数中被调用。除法运算和求余数时注意判断除数的值,不能为0。由于该程序功能不是十分复杂,因此从整个程序结构上看比较清晰。

值得一提的是,你一定注意到了主函数中那个特殊的while循环,显然条件是“1”即永远成立,这是为了让该计算器能连续工作,只要用户选择了对应的功能,则必须产生结果,除非用户想要结束运算,因此while循环的循环体内包含退出或者说结束程序的相关代码。

这是一个简易计算器,因此程序还可以继续完善。下面提出几点建议,读者可以自己一显身手。

(1)从功能上完善:将简易计算器的功能扩充至更多运算。

(2)从函数上改进:以加、减等函数为例说明,程序中函数的参数类型、返回类型都是int型,这个条件有点苛刻,例如除法运算,要求结果是整数,但是有时结果为实型,所以最好改为实型。

(3)将整个程序进一步优化,例如显示相关提示信息时,将重复的信息提示都写成函数的形式进行调用等。

七、小结

本章按照工程化的思想,详细介绍了一个简易计算器的开发流程。首先进行需求分析,然后介绍总体设计,在具体实现时采用了函数的方法,即将一个功能对应一个具体的函数,所有这些函数都在main函数中进行调用。相信读者学习完本章后对C程序的结构以及函数会有更深入的理解与认识。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈