C++课程设计基于MFC的计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着科学的发展,计算机的应用越来越广泛,而运用计算机中的计算机语言C++写程序必然是很多的。C++是目前国内外最广泛使用的程序设计语言之一,它具有处理功能丰富、表达能力强、使用方便灵活、执行程序效率较高等优点。而且C++得是一种结构化程序设计语言;另外,C++的函数式结构也为实现程序化模块设计提供了强有力的保正。所以很多人都把C++作为编程的首选语言。
本次课程设计就是利用C++的丰富表达能力来编写一个简单计算器,模拟windows 系统的计算器进行简单的计算;在编写这次课程设计中要求利用MFC来画出计算器的图形界面,并且保证可以进行基本的计算。
关键字:简单计算器MFC 图形界面基本计算
课程设计任务书设计题目:基于MFC的简单计算器设计
张亚军
2011年6月22日
目录
摘要 (1)
课程设计任务书 (2)
第一章设计内容及要求 (6)
1.1 计算器的基本要求 (6)
1.2 需实现的主要功能 (6)
第二章需求分析 (7)
2.1 界面及布局设计 (7)
2.2 简单计算的实现方法 (7)
第三章系统设计 (8)
3.1 总体功能图 (8)
3.2 总体流程图 (8)
第四章主要功能设计流程 (10)
4.1 单目运算实现流程图 (10)
4.2 双目运算流程图 (10)
第五章代码实现 (12)
5.1 代码的实现 (12)
5.2 运行效果图 (12)
第六章系统测试 (15)
致谢 (18)
参考文献: (19)
附录:源程序代码 (20)
第一章设计内容及要求
1.1 计算器的基本要求
(1) 设计MFC的计算器界面。计算器界面是基于MFC的Dialog bases所画出来的;其中界面主要由Edit properties和Push Button properties所组成。通过鼠标点击按键即可在Edit中显示数据和进行运算。
(2) 程序要求用户在运行过程中注意不同函数的定义域,若用户按键的数值不符合要求,计算器则会弹出一个提醒你的对话框。
(3) 用户在计算一次以后,可以通过按键AC清空以前记录,进行下一次的计算。
1.2 需实现的主要功能
(1) 需完成简单的双目运算,例如加、减、乘、除等。
(2) 需完成三角函数sin,cos,tan的计算,并且要注意其定义域。
(3) 需完成简单的与,或,非,异或等简单运算。
(4) 需完成对数函数以10为底的log,ln,及简单的阶乘运算。
(5) 需完成任意数的开根和次方,并且要注意数值要求。
(6) 还需完成对数值的清除及清除全部内容的功能。
第二章需求分析
2.1 界面及布局设计
系统布局主要采用了MFC的Dialog的对话框,运用了文本框、按键、面板等组件;文本框的主要功能:联系按键,通过增加文本框的成员,将按键运用按键函数和文本框联系起来,即按键即可在文本框中显示相应的数值。按键功能:按键用于调用按键函数,通过按键函数来实现计算器相应的计算步骤。
2.2 简单计算的实现方法
该计算器的简单计算实现是基于switch case 语句,定义一个全局变量flag,通过对flag赋值调用相应的case语句实现相应的计算。
(1) 加减乘除运算的实现。该计算主要以简单的运算符+、-、*、/来实现。
(2) 较复杂的运算的实现,例如简单的对数运算,与或非运算,开根和次方。该计
算主要运用math.h中的函数调用实现的,不同的运算调用相应的函数来实现,但是需注意的就是相应的函数就只能进行运算而已,而数值是否符合该函数就
需要自己进行判断,如若数值不符合函数定义域,计算则会出现错误。
(3) 阶乘运算的实现。该运算的实现运用了递归,较为方便的写出递归函数即可进
行阶乘运算。
第三章系统设计
3.1 总体功能图
根据需求所作的分析,需要完成简单的双目运算,例如加、减、乘、除等;需完成三角函数sin,cos,tan的计算,并且要注意其定义域;需完成简单的与,或,非,异或等简单运算;需完成对数函数以10为底的log,ln,及简单的阶乘运算;需完成任意数的开根和次方,并且要注意数值要求;还需完成对数值的清除及清除全部内容的功能。
根据系统需求,计算器的总功能图如图3-1所示:
图3-1 计算机总功能图
3.2 总体流程图
根据对计算器的功能分析,设计得到计算器总流程,如图3-2所示:
图3-2 计算器流程图
第四章主要功能设计流程
4.1 单目运算实现流程图
根据对单目运算的分析,可得单目运算流程图,如图4-1所示:
图4-1 单目运算流程图
4.2 双目运算流程图
根据对双目运算的分析,可得双目运算流程图,如图4-2所示:
图4-2 双目运算流程图
第五章代码实现
5.1 代码的实现
该计算器是基于MFC下创立的,MFC会给出一部分程序代码;计算器所要编写的类就只有文件所给出的CAboutDlg类。在CAboutDlg类中,存在某一部分的函数代码,而我们所要增加的就是和界面相联系的按键的按键函数,即对那件数字上的显示和运算的执行。
首先,画好基本的计算器图,如图5-1所示:
图5-1 运算器基本架构图
5.2 运行效果图
开始主界面:
图5-2 计算器主界面
运行时界面,以求4的阶乘为例子:
图5-3 运行时计算器界面(1)