2022年2022年计算器程序设计.C++,MFC .pdf
《2022年2022年计算器程序设计.C++,MFC .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算器程序设计.C++,MFC .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计(MFC)课程设计报告设计题目:简易计算器班级:姓名:学号:指导教师:时间:2010 年 6 月 30 日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -目录1.设计目标,2.设计内容,3.设计思想,4.设计说明,5.设计步骤,6.主要成员函数关系图,7.程序主要代码,8.难点分析,9.总结,名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -简易计算器(MFC)1设计目标了解 Windows 应用程序的结构与DOS 程序的不同,掌握应用MFC 类库编写 Windows 应用程序的基本模式。2设计内容以简易计算器为例,通过对简单应用软
2、件计算器的设计,编制、调试,实现简单的加,减,乘,除等运算,以学习应用MFC 库类编写对话框的原理,加深对 C+类的学习及应用。3.设计思想基于 MFC 库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。4.设计说明(1)包含的功能有:加、减、乘、除运算,开方、平方等功能。(2)计算器上数字 09 为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。(3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。(4)计算功能基本上是用系统内部函数。(5)程序可以能自动判断输入数据的正
3、确性,保证不出现多于一个小数点、以 0 开头等不正常现象。(6)“CE”按钮可以清除所有已输入的数据从头计算5.设计步骤(1)选择 FileNewlProject 命令,选择 MFC AppWizard(exe)创建 Project 名为 Caa,按确定。在弹出界面选择创建对话框,单击Finish 按钮(2)在生成的设计界面中加入控件,得到计算器应用界面。如图:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -(3)为控件编辑框编辑ID,如图:按钮名称ID 用途0 IDC_0 按键 0 1 IDC_1 按键 1 2 IDC_2 按键 2 3 IDC_3 按键 3 4 I
4、DC_4 按键 4 5 IDC_5 按键 5 6 IDC_6 按键 6 7 IDC_7 按键 7 8 IDC_8 按键 8 9 IDC_9 按键 9.IDC_dian 按键.+/-IDC_zhengfu 正负名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -+IDC_jia 加-IDC_jian 减*IDC_cheng 乘/IDC_chu 除CE IDC_qinglin 清零sqrt IDC_sqrt 开方x*x IDC_pingfang 平方=IDC_dengyu 等于编辑框IDC_E1 显示数据输入输出(4)进入 ClassWizard界面选择 Message Ma
5、ps为控件插入消息映射,插入消息函数,实现控件命令功能。如图:(5)进入 ClassWizard界面 Message Varibles为编辑框添加成员变量m_result用以显示结果。如图:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -(6)在 CaaDlg.h 中加入在主要成员函数和成员变量的申明在CaaDlg.cpp中加入主要成员函数实现过程和成员变量的初始化(代码片段将于后面介绍)。6.主要成员函数关系图按钮09.函数如:On0().On1().On2().处理数字输入OnOperandInput()计算 Calculate()显示输出 UpdateDispl
6、ay()按 钮+-*/.+/-CE=函数 如:Onjia().Onjian().Oncheng().按钮 sqrt x*x 函数:Onsqrt().Onpingfang()名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 13 页 -7.程序主要代码/在头文件中手动添加成员函数与变量声明/caaDlg.h:header file/定义两个 euum型结构enum Operator OpNone,OpAdd,OpSubtract,OpMultiply,OpDivide;enum CalcError ErrNone,ErrDivideByZero;float m_operand;/存储
7、当前输入的操作数float m_accum;/存储当前的计算处理结束BOOL m_bCoff;/标识当前输入是否是小数float m_coff;/小数输入时的系数Operator m_operator;/enum型变量用以标识当前运算符CalcError m_errorState;/enum型变量用以标识当前运算状态BOOL m_bOperandAvail;/标识当前输入是否是新输入数字void UpdateDisplay();/处理显示void Calculate();/处理计算void OnOperandInput(int a);/处理数字输入/在执行文件中添加成员函数实现部分与变量初始/
8、caaDlg.cpp:implementation file /以下是对声明变量进行初始CCaaDlg:CCaaDlg(CWnd*pParent/*=NULL*/):CDialog(CCaaDlg:IDD,pParent)/AFX_DATA_INIT(CCaaDlg)m_result=_T();/默认为 m_result 变量初始/AFX_DATA_INIT/Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);m_cof
9、f=0.1;/为变量进行初始m_bCoff=0;/为变量进行初始m_errorState=ErrNone;/为变量进行初始m_bOperandAvail=FALSE;/为变量进行初始m_operator=OpNone;/为变量进行初始/以下是消息处理函数,用以响应消息映射void CCaaDlg:On0()/处理“0”按钮 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 13 页 -/TODO:Add your control notification handler code here OnOperandInput(0);void CCaaDlg:On1()/处理“1”按钮/T
10、ODO:Add your control notification handler code here OnOperandInput(1);void CCaaDlg:On2()/处理“2”按钮/TODO:Add your control notification handler code here OnOperandInput(2);void CCaaDlg:On3()/处理“3”按钮/TODO:Add your control notification handler code here OnOperandInput(3);void CCaaDlg:On4()/处理“4”按钮/TODO:Ad
11、d your control notification handler code here OnOperandInput(4);void CCaaDlg:On5()/处理“5”按钮/TODO:Add your control notification handler code here OnOperandInput(5);void CCaaDlg:On6()/处理“6”按钮/TODO:Add your control notification handler code here OnOperandInput(6);void CCaaDlg:On7()/处理“7”按钮/TODO:Add your
12、 control notification handler code here OnOperandInput(7);名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 13 页 -void CCaaDlg:On8()/处理“8”按钮/TODO:Add your control notification handler code here OnOperandInput(8);void CCaaDlg:On9()/处理“9”按钮/TODO:Add your control notification handler code here OnOperandInput(9);void CCaa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算器程序设计.C+ MFC 2022 计算器 程序设计 MFC
限制150内