MFC计算器课程设计报告.docx
《MFC计算器课程设计报告.docx》由会员分享,可在线阅读,更多相关《MFC计算器课程设计报告.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MFC计算器课程设计报告 MFC计算器课程设计报告计算机应用3班黄锦湫,罗洁,饶益 指导老师:蒋鹏 2022.3.15 一题目:利用MFC框架编写简易计算器 要求使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,支持任意位数的 加减乘数,正负转换,并且实现BackSpace CE C功能。 二设计过程 1.Windows消息处理机制的理解 首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。 Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。还有用户消息,比如鼠标的单击,双击,键
2、盘的键入等。 2.界面的设计 仿照Windows附件里面的计算器,在资源视图中画好界面,如图: 主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。拖出 的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 3. 变量定义: double poz; /保存小数点的位置,初始化为1,表示poz-1个小数点。 double m_Dis; /Edit控件上需要显示的数字 BOOL point_flag; /小数点表示位,判定是否是小数,是小数为1,不是小数为0。 double numfirst; /保存计算过程中的前一个数字, double n
3、umsecond;/保存计算过程中的第二个数字 char op;/记录当前的计算符号,可以为+,-,*,/,=,c,n 变量初始化: poz=1; m_Dis = 0.0; numfirst=0; numsecond=0; op=0; 4.设计思路 a)首先考虑对所有按键分为两类,数字类和符号类,0,1,2,3,4,5,6,7,8,9为数字类,+, -,*,/,=为符号类。数字在计算的过程中最多需要保存两个,所以定义了两个double 型变量numfirst和numsecond来进行存储。符号需要一个char op来存储。 b)然后考虑在计算的过程中,numfirst和numsecond的存储
4、状态有三种,一种是 numfirst=0 & numsecond=0 也就是程序刚开始运行还没有开始录入数字的状 态。二种是numfirst!=0 & numsecond=0 也就是第一个数字已经录入,符号也已 经录入时候把m_Dis的值直接赋值给numfirst,第三种是numfirst!=0 &numsecond!=0,表示可以通过op来把两数合并为一个数。 c)考虑到该计算器支持连续的计算,比如3.33+1.33*88/96= ?。所以必须在点符号 Button也要计算出之前的结果,通过判断op,来计算,把两个数字合并为一个数字, 方便下一次运算,功能近似于点=,所以把=也划分到符号类。
5、 d)因为数字全部使用的是double,键入的数字必须通过一定的处理达到累加的效果, 加上小数和整数的处理差异性大,所以分别用point_flag来判断,分别出来小数和 整数。 5.成员函数及其释义 因为对OnNum0()到OnNum9()的处理函数差异仅在一个数字上,可以通过调用一个共同的函数OnCal(double num)来简化源代码长度,增加模块性。 void CCalcDlg:OnCal(double num) /分三种状态来处理 if(numfirst!=0 & numsecond!=0) if(point_flag=TRUE) /判定为小数 poz*=0.1; /小数进位 m_D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 计算器 课程设计 报告
限制150内