MFC计算器课程设计报告
计算机综合课程设计MFC报告
![计算机综合课程设计MFC报告](https://img.taocdn.com/s3/m/11917f11a2161479171128b7.png)
“计算机综合课程设计”报告
3、点击菜单中的关于计算器得:
4、计算100+200得:
5、计算100-200得:
6、计算-100*2得:
7、计算50/100得:
9、计算100%6得:
10、计算0.8的倒数得:
13、计算tan38°:
16、计算arctan18得:
19、计算13!得:
22、十进制数123转化成八进制得:
25、二进制数11111转化成八进制得:
28、八进制数765转化成二进制数得:
31、十六进制数abcd转化成二进制数得:
1)设计任务:填写课程设计的任务要求;
2)任务分析:填写对设计任务的理解和系统分析;
3)设计思路:填写任务设计的基本思路和流程图
4)功能介绍:填写系统的主要功能
5)文件与对象描述:对系统的组成文件及其类对象进行介绍;
6)测试报告:对所使用的测试数据及测试结果进行介绍,请插入相应的运行结果拷屏图片。
7)总结:本课程设计的小结、心得及建议。
mfc计算器实验报告
![mfc计算器实验报告](https://img.taocdn.com/s3/m/013de7e8d0f34693daef5ef7ba0d4a7303766c44.png)
mfc计算器实验报告MFC计算器实验报告引言:MFC(Microsoft Foundation Class)是微软公司开发的一套用于Windows应用程序开发的类库,它提供了一系列的类和函数,方便开发者进行图形界面的设计和开发。
在本次实验中,我们将使用MFC来设计一个简单的计算器应用程序,并通过实验报告来总结我们的设计过程和结果。
1. 实验目的本次实验的主要目的是熟悉MFC框架的使用,了解MFC的基本原理和设计思路,并通过实际操作来掌握MFC应用程序的开发流程。
2. 实验环境本次实验使用的开发环境是Visual Studio 2019,该版本已经集成了MFC开发环境,方便我们进行MFC应用程序的设计和开发。
3. 实验步骤3.1 创建MFC项目首先,我们打开Visual Studio 2019,并选择创建一个新的MFC应用程序项目。
在创建项目的过程中,我们需要选择MFC应用程序向导,并设置一些基本的项目属性,如应用程序名称、目标平台等。
3.2 设计计算器界面在项目创建完成后,我们将进入MFC应用程序的设计界面。
在这个界面中,我们可以通过拖拽和调整控件的方式来设计应用程序的界面。
为了实现一个简单的计算器功能,我们需要添加一些按钮、文本框和标签等控件,并设置它们的属性和事件响应函数。
3.3 实现计算器功能在设计界面完成后,我们需要在代码中实现计算器的功能。
具体来说,我们需要编写一些函数来处理按钮的点击事件,并根据用户的输入来进行相应的计算操作。
在这个过程中,我们可以使用MFC提供的一些数学函数和操作符重载来简化计算的过程。
4. 实验结果经过我们的设计和开发,一个简单的计算器应用程序已经完成了。
在实验过程中,我们测试了该应用程序的基本功能,包括加法、减法、乘法和除法等运算操作,并对一些特殊情况进行了处理,如除数为零等。
实验结果表明,该计算器应用程序在功能和稳定性方面都达到了预期的效果。
5. 实验总结通过本次实验,我们对MFC框架的使用和应用程序的开发流程有了更深入的了解。
《MFC编程及应用》课程设计报告
![《MFC编程及应用》课程设计报告](https://img.taocdn.com/s3/m/78f4545a6d85ec3a87c24028915f804d2a16874c.png)
《MFC编程及应用》课程设计报告题目: 简易型科学计算器学号: 姓名:****: ***时间: 2012年5月16日1、设计步骤a)工程建立本工程建立的是一个基于对话框的应用程序。
b)类中新增变量的作用m_inputstr : CEdit类型, 用于与程序中编辑框相关联;m_FormerBase :用于记录上一次是出于何种进制之下, 便于进制转换;c)CMathString: 用于对字符串进行逆波兰表达式的转换并计算结果d)需处理的消息的详细代码对按钮0(OnBnClickedButton0)的响应函数:void CMy1106840420Dlg::OnBnClickedButton0(){CString temp;//定义一个CString对象this->UpdateData(true);//从编辑框获得m_inputstr的值m_inputstr.GetWindowText(temp);//获取字符串并存入temp中temp += '0';//在字符串末尾添加字符‘0’this->m_inputstr.SetWindowText(temp);//将字符串设置回m_inputstr中this->UpdateData(false);//更新数据, 编辑框显示}对按钮1(OnBnClickedButton1)、2(OnBnClickedButton2)、3(OnBnClickedButton3)、4(OnBnClickedButton4)、5(OnBnClickedButton5)、6(OnBnClickedButton6)、7(OnBnClickedButton7)、8(OnBnClickedButton8)、9(OnBnClickedButton9)、A(OnBnClickedButtonA)、B(OnBnClickedButtonB)、C(OnBnClickedButtonC)、D(OnBnClickedButtonD)、E(OnBnClickedButtonE)、F(OnBnClickedButtonF)、左括号(OnBnClickedButtonLbracket)、右括号(OnBnClickedButtonRbracket)、+(OnBnClickedButtonAdd)、—(OnBnClickedButtonMinus)、×(OnBnClickedButtonMultiply)、/(OnBnClickedButtonDiv)、小数点(OnBnClickedButtonPoint)、PI (OnBnClickedButtonPi)的响应函数与按钮0类似, 仅末尾添加的字符变为相应的字符。
mfc课程设计报告模板
![mfc课程设计报告模板](https://img.taocdn.com/s3/m/d9649cfd294ac850ad02de80d4d8d15abe2300ae.png)
mfc课程设计报告模板一、教学目标本课程的教学目标是使学生掌握MFC(Microsoft Foundation Class)的基本概念和编程技巧,培养学生使用MFC进行Windows应用程序开发的能力。
具体目标如下:1.知识目标:(1)理解MFC的基本概念,如窗口、消息、事件等。
(2)掌握MFC的编程步骤,如创建项目、添加类、编写代码等。
(3)熟悉MFC常用的类和函数,如CCmdTarget、CWnd、AfxMessageBox等。
2.技能目标:(1)能够使用MFC编写简单的Windows应用程序。
(2)能够使用MFC进行窗口布局和界面设计。
(3)能够使用MFC处理消息和事件,实现用户交互。
3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和热情。
(2)培养学生解决问题的能力和创新精神。
(3)培养学生团队协作和良好沟通的意识和能力。
二、教学内容本课程的教学内容主要包括MFC的基本概念、编程步骤和常用类及函数。
具体安排如下:1.MFC的基本概念:介绍MFC的起源、发展及其在Windows应用程序开发中的应用。
2.MFC的编程步骤:讲解如何创建MFC项目、添加类、编写代码等。
3.MFC的常用类及函数:介绍MFC的核心类,如CCmdTarget、CWnd等,以及常用的函数,如AfxMessageBox等。
4.窗口布局和界面设计:讲解如何使用MFC进行窗口布局、界面设计以及界面美化。
5.消息和事件处理:讲解MFC如何处理消息和事件,实现用户交互。
6.实战项目:通过实际项目案例,让学生掌握MFC的应用,提高实际编程能力。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:教师讲解MFC的基本概念、编程步骤和常用类及函数。
2.讨论法:教师引导学生进行问题讨论,巩固所学知识。
3.案例分析法:分析实际项目案例,让学生学会运用MFC解决实际问题。
MFC计算器程序报告
![MFC计算器程序报告](https://img.taocdn.com/s3/m/7958452aed630b1c59eeb5be.png)
C++课程设计实验报告学号姓名院系专业一、课题名称简易的计算器设计。
二、问题陈述编写一个计算器程序,能够进行四则运算、取模等运算要求:1、个人完成;2、运用对话框编写,界面上只能有一个输出框,数据通过按钮输入到程序,并显示在输出框中;当按下运算符后再输入数据,输出框中应显示新数据;运算结果也显示在输出框中。
3、四则运算、取模运算是最低要求,程序能正确执行;4、界面设计美观、合理;5、独立完成;三、设计目标和设计任务编写一个计算器程序,能够进行四则运算、取模、乘方、立方,并且给计算器程序添加背景。
四、解题算法思想1.创建一个基于对话框的项目2. 给对话框加入相应的操作按钮3. 给按钮加上代码,设置属性4. 为实现四则运算、取模等操作添加必要函数五、程序算法过程①选择File→New菜单命令,选择Project选项卡,并选择MFC AppWizard(exe), name 命名为calculator;选择应用程序基于对话框,即Dialog based。
多次单击next,最后单击Finish后,系统弹出一对话框,如下图:②使用按钮控件、文本编辑框控件和组控件,将他们加入到对话框中,并通过更改按钮控件的属性中的标题部分。
选中所有按钮,在属性中的Extended Style中选中Modal frame,使其达到下图效果:(注意,在布局按钮时,为了使按钮总体整齐美观,可以先创建一行或一列按钮,使他们保持整齐后,按住Ctrl键,选中这一行或一列按钮,再移动鼠标,即可生成另一行或一列按钮;也可以通过Layout菜单中的指令对其进行布局)③鼠标右击按钮控件,选择属性,即可对其ID进行更改,各ID与标题内容对应如下:ID 标题ID 标题IDC_BUTTON0 0 IDC_BUTTONCLS 清零IDC_BUTTON1 1 IDC_ADD +IDC_BUTTON2 2 IDC_PLUS -IDC_BUTTON3 3 IDC_MULTIPL Y *IDC_BUTTON4 4 IDC_DEVIDE /IDC_BUTTON5 5 IDC_EQUALL =IDC_BUTTON6 6 IDC_QUM 取模|IDC_BUTTON7 7 IDC_SQU 平方IDC_BUTTON8 8 IDC_CUB 立方IDC_BUTTON9 9④在对话框非控件部分单击鼠标右键,打开类向导ClassWizard,将数字按钮0~9关联到函数OnEnternum(),方法为单击数字按钮ID,然后单击Message中的BN_CLICKED,最后单击右侧的Add Function,在其中输入函数名即可。
c面向对象程序设计MFC简单计算器实验报告
![c面向对象程序设计MFC简单计算器实验报告](https://img.taocdn.com/s3/m/9fb3a55d0740be1e640e9a17.png)
c面向对象程序设计M F C简单计算器实验报告Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#计算机与信息工程学院《程序设计基础》课程设计报告题目名称:60.编写一个能实现简单功能的计算器学生姓名:刘沛东学生学号:专业班级:电子信息工程(1)班指导教师:高攀1 课程设计的题目编写一个能实现简单功能的计算器2 题目要求1. 有一个计算器图形。
2. 能实现加、减、乘、除及乘方的运算。
3. 当输入题目时,屏幕上要在指定位置上显示出相应的题目内容,且相应的数字键要改变颜色例如:输入数字1 时,在计算器图形上的1键变为红色。
4. 屏幕、图形颜色、形状自定3 总体设计总体框架图1 系统框架系统功能说明在VC++中绘制计算器界面,各控件的设置对0~9控件设定相应的ID和其他属性:图2 “1”控件设置对“+、-、*、\”控件设定相应的ID和其他属性:图2 “+”控件设置对其它控件设定相应的ID和其他属性:图3 其它控件设置主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。
拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。
4 程序详细设计系统主调模块图5 程序流程图各模块详细设计建立的变量,控件的命名,对应的消息处理函数对应表double poz; 按钮的处理函数void CCalcDlg::OnPt(){point_flag=TRUE; && buffer[i+1]==0)之前那位}m_Dis=strtod(buffer,NULL);整个大的程序的实现分8个功能,每个功能都通过一个相应的函数来实现.在调试时分别进行调试,使得调试更方便些.在编写各个函数只是按着题目要求的去完成,后来经指导老师指导后,发现了很多自己欠缺的地方,又一次将程序整体进行调试.最后把程序完善了许多。
C++-MFC计算器编程课程设计实践报告
![C++-MFC计算器编程课程设计实践报告](https://img.taocdn.com/s3/m/fac8bd6780eb6294dc886c8a.png)
中南大学本科生课程设计(实践)设计报告(程序设计基础)题MFC编程科学计算器目学生1104120502学号学生郭斌繁姓名指导蔡旭晖教师学院交通运输工程学院专业交通运输类1205班班级计算机基础教学实验中心2013年7月1日程序设计(C++)实践报告1.引言C++语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序:(1) C++是一个更好的C,它保持了C S言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。
这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。
(2) C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。
这对于设计、编制和调试一些大型的软件尤为重要。
⑶C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。
通常,C++ 程序环境约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp.时,则为C++?序。
(4)C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。
其优点是给用户编程带来书写上的方便。
其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误。
次课程设计主要在运算过程中,如果通过计算器来完成,就会减少计算量,该程序即可以在简单计算器键面下进行简单运算,也可以在科学计算器键面下进行高级的科学计算。
并且可以分别计算弧度、角度的三角函数的计算等较为复杂的运算。
(1).设计目标利用MFC程序开发工具设计一款可以进行简单计算及部分科学计算的计算器。
在设计当中将综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。
通过此设计进一步提高自己的动手能力,并能使自己清楚的知道开发一个应用程序的思想、方法和流程。
(2).选题分析此次实践所选题目中除了简单的加减乘除运算程序之外还包括了余弦函数、双曲余弦函数、度分秒的转换和X的y次方及y次根号下x的运算程序。
MFC计算器课程设计报告
![MFC计算器课程设计报告](https://img.taocdn.com/s3/m/fc10b5790b1c59eef8c7b45d.png)
MFC表达式计算器课程设计报告题目:利用MFC框架编写简易表达式计算器【分析】一.设计过程1.Windows消息处理机制的理解首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。
Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。
还有用户消息,比如鼠标的单击,双击,键盘的键入等。
2.界面的设计1)界面的初步设计仿照Windows附件里面的计算器,在资源视图中画好界面,如图:2)修改每个static的属性ID CAPTIONIDD_STA TIC4 简易表达式计算器IDC_STATIC1 待求表达式IDC_STATIC2 运算结果IDC_STATIC3 系统当前时间3)修改每个button的属性IDC_BUTTON1 等于(=)IDC_BUTTON2 全清(C)IDC_BUTTON3 清除(A) 结果如下图:4)修改每个button的处理机制在类向导Classwizard窗口中进行,如下图:其他button按钮的修改类似5)修改每个edit的类型和名称在类向导Classwizard窗口中进行:单击Add Variable按钮,在如下窗口中进行修改其他edit的修改类似最终结果如下:注:主要使用到Layout菜单中的Align功能对各个按钮进行对齐,使界面更加整洁。
拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。
6)系统菜单的添加在Menu的IDR_MENU1中添加系统菜单:同理在“帮助”菜单中添加“关于”。
二.设计步骤1. 添加头文件将Calculate.cpp(见附录)改为Calculate.h将其添加到计算器Dlg.cpp : implementation file中,如下:#include "Calculate.h"。
2.成员函数及其释义:void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)//{{AFX_MSG_MAP(CAboutDlg)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CMyDlg dialogCMyDlg::CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg::IDD, pParent){//{{AFX_DATA_INIT(CMyDlg)// NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CMyDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CMyDlg)DDX_Control(pDX, IDC_EDIT3, m_time);DDX_Control(pDX, IDC_EDIT2, m_result);DDX_Control(pDX, IDC_EDIT1, m_input);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CMyDlg, CDialog)//{{AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_WM_TIMER()ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_COMMAND(ID_ABOUT, OnAbout)ON_COMMAND(ID_QUIT, OnQuit)//}}AFX_MSG_MAPEND_MESSAGE_MAP()////////////////////////////////////////////////////////////////////////////// CMyDlg message handlers3.OnButton1()按钮的处理函数双击“等于(=)”按钮,添加如下代码:void CMyDlg::OnButton1(){// TODO: Add your control notification handler code hereCString str;char *ch;m_input.GetWindowText(str);ch = (LPSTR)(LPCTSTR)str;char ch2[50];strcpy(ch2,ch);Cal a(ch2);if(!a.OK){m_result.SetWindowText("表达式不合法!");// 表达式不合法,判别出来并给出相应的错误提示}else{if(a.Sign){m_result.SetWindowText("除数为零!");// 表达式不合法,可以判别出来并给出相应的错误提示}else{str.Format("%lf",a.GetV());m_result.SetWindowText(str);}}}以OnButton1()作为求值处理函数,函数的功能是单击等于(=)按钮,运算结果显示在IDC_EDIT2中4.OnButton2()按钮的处理函数双击“清除(C)”按钮,添加如下代码:void CMyDlg::OnButton2(){// TODO: Add your control notification handler code herem_result.SetWindowText("0");m_input.SetWindowText("");m_input.SetFocus();}//函数的功能是把上次输入的表达式清空5.OnButton3()按钮的处理函数双击“全清(A)”按钮,添加如下代码:void CMyDlg::OnButton3(){// TODO: Add your control notification handler code herem_input.SetWindowText("");m_input.SetFocus();}//函数的功能是把上次输入的表达式和运算结果都清除6.OnTimer(UINT nIDEvent)处理函数CWnd::SetTimer(1,500,NULL);//设置时间每隔500ms更新一次。
MFC计算器设计实验报告.
![MFC计算器设计实验报告.](https://img.taocdn.com/s3/m/591295a0b307e87100f6961d.png)
计算机学院课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:基于Winform的多功能计算器的设计与实现姓名:专业:软件工程年级:08软件学号:指导教师:2010年12 月20 日目录1.设计目的 (3)2.设计要求 (3)3.设计方案 (3)(1)计算器的用例图: (3)(2)计算器的类图: (6)(3)计算器的顺序图: (6)(4)计算器协作图 (7)(5)计算器的状态图: (7)(6)计算器的活动图: (8)(7)计算器系统框图: (8)4设计内容: (9)(1)创建工程: (9)(2) 设计用户界面 (9)(3)添加代码 (11)5 测试结果: (15)6 总结: (17)7.参考文献: (17)1.设计目的利用C++语言,编写一个类似windows XP系统的计算器,实现计算器的基本功能,从而利用这次的设计,达到更加了解C++语言,了解面向对象的设计方法,加深对面向对象设计过程的了解等目的。
2.设计要求(1)利用面向对象的知识并参照Windows XP系统附件下的“科学型计算器”设计开发一个多功能的计算器;(2)不限制采用的开发平台和编程语言;(3)要求用UML描述设计过程;(4)要求用系统/程序运行时的截图描述实现的测试过程,系统的功能说明;(5)用原代码(加注释)描述主要的功能实现过程及算法;(6)提交纸质打印课程设计报告及项目工程原代码(所有人刻录在一张光碟中,两份,一份用以存档)。
3.设计方案(1)计算器的用例图:用例名称:四则运算。
参与执行者:用户。
前置条件:计算器已开启。
主事件流:用户输入操作数一。
用户选择加、减、乘、除四则运算中的一种算法。
用户输入操作数二,计算出结果,作为下一次计算的操作数一。
后置条件:显示计算结果。
用例名称:三角函数。
参与执行者:用户。
前置条件:计算器已开启。
主事件流:用户输入操作数一。
选择所要操作的三角函数,计算出结果。
所得的结果作为下一次计算的操作数一。
(mfc)课程设计报告
![(mfc)课程设计报告](https://img.taocdn.com/s3/m/8dfae58881eb6294dd88d0d233d4b14e84243e15.png)
(mfc)课程设计报告一、教学目标本课程的教学目标是让学生掌握(mfc)的基本概念和应用技能。
具体来说,知识目标包括了解(mfc)的定义、特点和应用场景;技能目标包括能够使用(mfc)进行基本的数据操作和分析;情感态度价值观目标包括培养学生对(mfc)的兴趣和好奇心,以及认识到(mfc)在实际生活中的重要性。
二、教学内容根据课程目标,本课程的教学内容主要包括(mfc)的基本概念、数据操作和应用案例。
具体来说,教学大纲安排如下:1.第一章:(mfc)概述介绍(mfc)的定义、特点和应用场景2.第二章:(mfc)基本操作讲解(mfc)的基本数据操作,如增删改查等3.第三章:(mfc)应用案例通过实际案例,让学生学会如何使用(mfc)解决实际问题三、教学方法为了达到课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体来说:1.讲授法:用于讲解(mfc)的基本概念和基本操作2.讨论法:通过小组讨论,让学生深入理解(mfc)的应用案例3.案例分析法:分析实际案例,让学生学会如何将(mfc)应用于实际问题4.实验法:让学生动手实践,加深对(mfc)的理解和掌握四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选用权威、实用的(mfc)教材,作为学生学习的主要参考资料2.参考书:推荐一些与(mfc)相关的参考书,供学生拓展阅读3.多媒体资料:制作精美的PPT课件,以及相关的视频、动画等多媒体资料,丰富学生的学习体验4.实验设备:准备充足的实验设备,确保每个学生都能动手实践五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生的课堂参与度和讨论表现,作业则主要评估学生的基本技能掌握情况,考试则评估学生对(mfc)知识的综合运用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排将共计30课时,每周安排2课时,共计15周完成。
C++-MFC计算器编程课程设计实践报告
![C++-MFC计算器编程课程设计实践报告](https://img.taocdn.com/s3/m/d2b21fa1580216fc700afdca.png)
中南大学本科生课程设计(实践)设计报告(程序设计基础)题MFC编程科学计算器目学生1104120502学号学生郭斌繁姓名指导蔡旭晖教师学院交通运输工程学院专业交通运输类1205班班级计算机基础教学实验中心2013 年 7 月1日程序设计(C++)实践报告1.引言C++语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序:(1)C++是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。
这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。
(2)C++是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。
这对于设计、编制和调试一些大型的软件尤为重要。
(3)C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。
通常,C++程序环境约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp.时,则为C++程序。
(4)C++语句非常简练,对语法限制比较宽松,因此C++语法非常灵活。
其优点是给用户编程带来书写上的方便。
其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误。
次课程设计主要在运算过程中,如果通过计算器来完成,就会减少计算量,该程序即可以在简单计算器键面下进行简单运算,也可以在科学计算器键面下进行高级的科学计算。
并且可以分别计算弧度、角度的三角函数的计算等较为复杂的运算。
(1).设计目标利用MFC程序开发工具设计一款可以进行简单计算及部分科学计算的计算器。
在设计当中将综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。
通过此设计进一步提高自己的动手能力,并能使自己清楚的知道开发一个应用程序的思想、方法和流程。
(2).选题分析此次实践所选题目中除了简单的加减乘除运算程序之外还包括了余弦函数、双曲余弦函数、度分秒的转换和X的y次方及y次根号下x的运算程序。
mfc设计科学计算器课程设计
![mfc设计科学计算器课程设计](https://img.taocdn.com/s3/m/cb0a78998ad63186bceb19e8b8f67c1cfbd6ee7d.png)
mfc设计科学计算器课程设计一、课程目标知识目标:1. 让学生掌握MFC(Microsoft Foundation Classes)的基本概念和原理,理解其在设计科学计算器中的应用。
2. 使学生了解科学计算器的基本功能,如标准运算、三角函数、对数等,并运用MFC实现这些功能。
3. 帮助学生掌握Visual C++编程环境中MFC的使用方法,培养其运用MFC 进行软件开发的能力。
技能目标:1. 培养学生运用MFC设计界面、处理用户输入和输出结果的能力。
2. 让学生学会使用MFC中的事件处理机制,实现科学计算器的功能按键响应。
3. 提高学生的问题分析能力,使其能够根据实际需求设计合理的MFC程序结构。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神。
2. 培养学生的团队协作意识,使其在编程实践中学会与他人分享和交流。
3. 引导学生认识到科技发展对社会进步的重要性,激发其创新精神和责任感。
课程性质:本课程为实践性较强的课程,结合理论讲解和实际操作,帮助学生掌握MFC设计科学计算器的技能。
学生特点:学生具备一定的C++编程基础,对MFC有一定了解,但实际应用能力较弱。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际编程能力。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. MFC基础回顾:重温MFC的基本概念、框架结构和主要类的功能,重点掌握CWnd、CDialog、CString等类的使用方法。
相关教材章节:第一章 MFC概述,第二章 MFC类和对象。
2. 科学计算器功能设计:介绍科学计算器的基本功能,如标准运算、三角函数、对数等,并分析如何利用MFC实现这些功能。
相关教材章节:第三章 MFC控件编程,第四章 MFC绘图与界面设计。
3. 界面设计与实现:讲解如何使用MFC设计科学计算器的界面,包括窗口、菜单、按钮等控件的使用方法。
MFC计算器编程设计报告
![MFC计算器编程设计报告](https://img.taocdn.com/s3/m/20d36ce4f121dd36a22d8256.png)
MFC计算器编程设计报告地信091指导老师:2010.11.15一(题目:利用MFC框架编写简易计算器要求使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,支持任意位数的加减乘数,正负转换,并且实现BackSpace CE C功能。
二(设计过程1. Windows消息处理机制的理解首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。
Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。
还有用户消息,比如鼠标的单击,双击,键盘的键入等。
2. 界面的设计仿照Windows附件里面的计算器,在资源视图中画好界面,如图:主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。
拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。
3. 建立的变量,控件的命名,对应的消息处理函数对应表ID CAPTION Message Handler简易计算器 1.0 Beta1版 IDD_CALC_DIALOG N/A IDC_NUM0 0 OnNum0IDC_NUM1 1 OnNum1IDC_NUM2 2 OnNum2IDC_NUM3 3 OnNum3IDC_NUM4 4 OnNum4IDC_NUM5 5 OnNum5IDC_NUM6 6 OnNum6IDC_NUM7 7 OnNum7IDC_NUM8 8 OnNum8IDC_NUM9 9 OnNum9IDC_NEG +/- OnNegIDC_PT . OnPtIDC_DIV / OnDivIDC_MUL * OnMulIDC_MIN - OnMinIDC_ADD + OnAddIDC_BACKSPACE BACK OnBackspaceIDC_CE CE OnCeIDC_CLEAR C OnClearIDC_EQU = OnEquIDC_DIS N/A N/AOnCal(double num) 变量定义:double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。
MFC计算器课设报告
![MFC计算器课设报告](https://img.taocdn.com/s3/m/8574de2b0912a21614792920.png)
(3)二进制
void CJisuanqiDlg::OnBtnerjinzhi() { char m_radix[16]={'0','1','2','3','4','5','6','7','8','9'};
CString s; m_base=2; int pos=0; long j,number=0; if(m_length==0) return; UpdateData(); number=atoi(m_s); j=number%m_base; while((number=number/m_base)!=0) { s.Insert(pos,m_radix[j]); pos++; j=number%m_base; } s.Insert(pos,m_radix[j]); s.MakeReverse(); SetDlgItemText(IDC_EDIT2,s的 问 题 及 解 决 情 况
编译错误: 1.简单编译语法错误,经过认真核对将语法修改正确。 2.编写代码过程中未声明
修改:请教同学、翻阅课本改正,对未声明部分进行声明。
五、系 统 运 行 报 告(测 试 的 结 果)
(1)加法
(2)减法
(3)乘法
(4)除法
(5)二进制
(4)其他
A 平方 void CJisuanqiDlg::OnBtnpingfang() { char c[100]; double res; UpdateData(); res=atof(m_s); res=res*res; gcvt(res,6,c); SetDlgItemText(IDC_EDIT2,c); } B:开方 void CJisuanqiDlg::OnBtnsqrt() { char c[100]; double res; UpdateData(); res=atof(m_s); res=sqrt(res); gcvt(res,6,c); SetDlgItemText(IDC_EDIT2,c); } C:阶乘 void CJisuanqiDlg::OnBtnjiecheng() { int n; char cr[100]; UpdateData(); n=atoi(m_s); int i=n-1; for(;i>=1;i--) { n=n*i; } gcvt(n,6,cr); SetDlgItemText(IDC_EDIT2,cr);
基于MFC的简易计算器制作设计【范本模板】
![基于MFC的简易计算器制作设计【范本模板】](https://img.taocdn.com/s3/m/baa994eecc17552706220844.png)
《一个简单的计算器设计》课程设计报告学院:计算机工程学院学号: 2012304030223姓名: 朱钟雄专业年级:12计算机应用技术2班指导教师: 游明坤时 间: 2014年12月25日JINGCHU UNIVERSITY OF TECHNOLOGY基于对话框的计算器MFC方法实现随着社会的发展,人们在日常生活中经常需要用到计算器来进行简单或者复杂的运算,计算器在人们生活中的地位也越来越重要。
简单的计算器能实现加、减、乘、除、开方、平方等运算。
学习了C++的程序设计语言这门课程,可以利用基于VC的MFC方法制作一个简易的计算器,实现基本的运算功能,从而满足生活中的需要,降低计算的难度。
一. 面向对象的程序设计方法区别与面向过程的“先功能后数据”思想,面向对象的程序设计方法把状态(数据)和行为(功能)捆绑在一起,形成了对象。
当遇到一个具体的问题时,我们只需要将一个系统分解成一个个的对象,同时将状态和行为封装在对象中。
面向对象的程序设计方法具有三个基本特点:封装、继承和多态.(1)封装性封装是一个用来指代将对象的状态和行为捆绑到一个单一逻辑单元的机制的正式术语.它不是面向对象语言所特有的,面向过程的C语言用结构封装了数据,函数封装了逻辑。
但是面向对象封装了两者,从这种意义上来说,面向对象的封装更加完美。
出于一些安全性与方便性的考虑,对象经常会限制对它们特征(包括属性和方法)的访问,这种限制称为信息隐藏。
作为对象的抽象,类通常只公开对象可以公开的东西,主要是一个特定对象对系统的服务,而隐藏执行服务的内部细节和为了完成这些服务而设计的数据。
( 2)继承性继承是定义新类的一种机制,使用这种机制创建新类时只需要声明新类和已创建类之间的差别。
对于一个特定的继承关系,我们将创建的新类称为子类(subclass),被继承的原始类称为超类(superclass)。
子类可以使用超类定义属性和方法,也可以自己定义新的属性和方法。
mfc课程设计报告1
![mfc课程设计报告1](https://img.taocdn.com/s3/m/5eec63dbd5d8d15abe23482fb4daa58da1111c1b.png)
mfc课程设计报告学习计算机知识的目的在于更加准确、快捷的解决现实生活中的各种问题。
我们只有不断的更新和完善自己的知识、在实践中积累经验, 才能做出好的软件为社会服务, 为使用者提供便利。
下面是mfc课程设计报告, 欢迎参考阅读!篇一:MFC课程设计报告1、橡皮筋画线程序, 要求:利用鼠标在视图上绘制线, 能够设置线的颜色和宽度;能够用鼠标拾取绘制的某条线, 被选中的线能够高亮显示, 并且弹出对话框, 输入线的属性保存起来;能够将绘制的线数据保存在文本文件中;打开线数据文件, 可以显示出文件里面的线图形。
该题需要设计一个画线程序, 在该程序中需要实现画线、设置线宽、设置线的颜色、拾取线、拾取线后的特殊属性、保存线数据、打开线数据等功能。
画线和拾取线功能都需要靠鼠标的左右键的信号来实现;设置线宽和颜色靠对话框输入, 变换数值;保存和打开线数据是存储的线上各点、线宽、颜色等属性, 然后在视图上重绘。
该题需要设计一个画线程序, 用不同的模块来实现不同的功能。
而这些功能主要是在视图类中实现:画线和拾取线功能都需要靠鼠标的左右键的信号来实现;设置线宽和颜色靠对话框输入, 变换数值;保存和打开线数据是存储的线上各点、线宽、颜色等属性, 然后在视图上重绘。
除此之外, 还要设置其他的类来保存数据。
1、由于画线和提取线的功能都是靠鼠标的信息来确定的, 故需设定一个成员变量来确定鼠标的状态, 设定成员变量为m_Get来判断是进行画线操作还是提取线操作。
2、画线功能靠鼠标左键的down、up和mousemove 信息来传递给函数来实现画线, 其各自的函数为OnLButtonDown、OnLButtonUp、OnMouseMove实质上是记录下了各点, 成员变量为起点m_startPoin和终点 m_endPoint。
再增加了鼠标移动响应函数OnMouseMove后, 必须是鼠标按下去之后才开始绘图, 因此, 添加一个变量来表示鼠标左键是否按下去这一状态。
MFC计算器编程设计报告
![MFC计算器编程设计报告](https://img.taocdn.com/s3/m/20d36ce4f121dd36a22d8256.png)
MFC计算器编程设计报告地信091指导老师:2010.11.15一(题目:利用MFC框架编写简易计算器要求使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,支持任意位数的加减乘数,正负转换,并且实现BackSpace CE C功能。
二(设计过程1. Windows消息处理机制的理解首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。
Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。
还有用户消息,比如鼠标的单击,双击,键盘的键入等。
2. 界面的设计仿照Windows附件里面的计算器,在资源视图中画好界面,如图:主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。
拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。
3. 建立的变量,控件的命名,对应的消息处理函数对应表ID CAPTION Message Handler简易计算器 1.0 Beta1版 IDD_CALC_DIALOG N/A IDC_NUM0 0 OnNum0IDC_NUM1 1 OnNum1IDC_NUM2 2 OnNum2IDC_NUM3 3 OnNum3IDC_NUM4 4 OnNum4IDC_NUM5 5 OnNum5IDC_NUM6 6 OnNum6IDC_NUM7 7 OnNum7IDC_NUM8 8 OnNum8IDC_NUM9 9 OnNum9IDC_NEG +/- OnNegIDC_PT . OnPtIDC_DIV / OnDivIDC_MUL * OnMulIDC_MIN - OnMinIDC_ADD + OnAddIDC_BACKSPACE BACK OnBackspaceIDC_CE CE OnCeIDC_CLEAR C OnClearIDC_EQU = OnEquIDC_DIS N/A N/AOnCal(double num) 变量定义:double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。
MFC课程设计报告-一个简单的计算器应用程序
![MFC课程设计报告-一个简单的计算器应用程序](https://img.taocdn.com/s3/m/5330b6794afe04a1b171de17.png)
设计一个简单的计算器应用程序一、设计目标与内容了解Windows编程的基础知识,掌握MFC应用程序的基本知识;基本掌握面向对象程序设计的基本思路和方法;掌握用VC++开发应用程序的的一般步骤和方法;能够利用所学的基本知识,设计一个简单的计算器应用程序,实现基本的加、减、乘、除、求平方根,求倒数等基本运算(必须实现的功能),实现求角度的正弦、余弦、正切等基本运算、实现求指数、自然对数、常用对数等基本运算(这部分功能选做)。
在程序中注意处理数据和运算符的输入,计算结果的显示。
二,设计要求用VC++进行编码,实现应用程序的功能。
注重编码质量,代码要有适当的注释;提交设计报告一份(课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。
一个简单的计算器应用程序总体设计能够利用所学的基本知识,设计一个简单的计算器应用程序,实现基本的加、减、乘、除、求平方根,求倒数等基本运算(必须实现的功能),实现求角度的正弦、余弦、正切等基本运算、实现求指数、自然对数、常用对数等基本运算(这部分功能选做)。
在程序中注意处理数据和运算符的输入,计算结果的显示。
详细设计新建工程Counter新建工程,选择对话框应用程序。
程序运行主界面图2-1在对话框内添加相应的控件,分别给编辑框添加三个变量m_N1,m_N2和m_Result。
然后添加一个组合框,在里面添加十二个单选按钮设置第一个单选按钮为组,如图图2-2然后给对话框类添加一个int变量Operator用来作相应运算时的标记。
给控件添加相应的函数1、给单选按钮添加相应的函数void CCounterDlg::OnRadio1(){Operator=1;}void CCounterDlg::OnRadio2(){Operator=2;}void CCounterDlg::OnRadio3(){Operator=3;}void CCounterDlg::OnRadio4() {Operator=4;}void CCounterDlg::OnRadio5() {Operator=5;}void CCounterDlg::OnRadio6() {Operator=6;}void CCounterDlg::OnRadio7() {Operator=7;}void CCounterDlg::OnRadio8() {Operator=8;}void CCounterDlg::OnRadio9() {Operator=9;}void CCounterDlg::OnRadio10() {Operator=10;}void CCounterDlg::OnRadio11() {Operator=11;}void CCounterDlg::OnRadio12()Operator=12;}用来作相应的操作时标记Operator的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MFC计算器课程设计报告计算机应用3班黄锦湫,罗洁,饶益指导老师:蒋鹏2009.3.15一.题目:利用MFC框架编写简易计算器要求使用MFC框架在Visual Studio 6.0环境下编写一个简易的计算器,支持任意位数的加减乘数,正负转换,并且实现BackSpace CE C功能。
二.设计过程1.Windows消息处理机制的理解首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。
Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。
还有用户消息,比如鼠标的单击,双击,键盘的键入等。
2.界面的设计仿照Windows附件里面的计算器,在资源视图中画好界面,如图:主要使用到Layout菜单中的Align功能对各个按钮进行对其,使界面更加整洁。
拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。
3.变量定义:double poz; //保存小数点的位置,初始化为1,表示poz-1个小数点。
double m_Dis; //Edit控件上需要显示的数字BOOL point_flag; //小数点表示位,判定是否是小数,是小数为1,不是小数为0。
double numfirst; //保存计算过程中的前一个数字,double numsecond;//保存计算过程中的第二个数字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的存储状态有三种,一种是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,来计算,把两个数字合并为一个数字,方便下一次运算,功能近似于点=,所以把=也划分到符号类。
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_Dis=m_Dis+poz*num;//递增UpdateData(false); //把结果从内存传递到屏幕}else{m_Dis=m_Dis*10+num;UpdateData(false);}}if(numfirst!=0 && numsecond==0){if(point_flag==TRUE){poz*=0.1;m_Dis=m_Dis+poz*num;UpdateData(false);}else//判定为整数{m_Dis=m_Dis*10+num;//递增UpdateData(false);}}if(numfirst==0 && numsecond==0){if(point_flag==TRUE){poz*=0.1;m_Dis=m_Dis+poz*num;UpdateData(false);}else{m_Dis=m_Dis*10+num;UpdateData(false);}}}以OnAdd()为例子讲解符号的处理函数,函数的功能是先判定之前按下字符时op的值,更具op的值来进行相应的运算。
void CCalcDlg::OnAdd(){ //根据numfirst和numsecond和op的值分为5种状态。
if(numfirst!=0 && numsecond==0&&op=='+'){numsecond=m_Dis;numfirst=numfirst+numsecond; //之前按的是加把两个数赋值到前一个数m_Dis=numfirst;//赋值给屏幕numsecond=0; //从新赋值为0,清空,不影响下一次判断UpdateData(FALSE);m_Dis=0; //屏幕的值同时清空}if(numfirst!=0 && numsecond==0&&op=='-'){numsecond=m_Dis;numfirst=numfirst-numsecond;m_Dis=numfirst;numsecond=0;UpdateData(FALSE);m_Dis=0;}if(numfirst!=0 && numsecond==0&&op=='*'){numsecond=m_Dis;numfirst=numfirst*numsecond;m_Dis=numfirst;numsecond=0;UpdateData(FALSE);m_Dis=0;}if(numfirst!=0 && numsecond==0&&op=='/'){numsecond=m_Dis;numfirst=numfirst/numsecond;m_Dis=numfirst;numsecond=0;UpdateData(FALSE);m_Dis=0;}if(numfirst==0 && numsecond==0){ //该状态为程序启动还没有开始录入输入的状态numfirst=m_Dis; //屏幕的值赋值到numfirstUpdateData(FALSE);m_Dis=0;}op='+'; //最后记录最后一个操作是+poz=1;//小数点位置归位point_flag=FALSE;//默认小数点标志为整数,也就是0,也就是FALSE }“+/-“按钮的处理函数void CCalcDlg::OnNeg(){m_Dis=-m_Dis;//换个符号,其他都一样UpdateData(FALSE);poz=1;point_flag=FALSE;}‘.’按钮的处理函数void CCalcDlg::OnPt(){point_flag=TRUE; //把标志位改为“小数点”状态}“Backspace”按钮的处理void CCalcDlg::OnBackspace(){//主要通过_gcvt()和strtod()函数进行字符串和浮点数之间的转换char buffer[30]; //定义个装字符的数组_gcvt(m_Dis,sizeof(m_Dis),buffer); //把m_Dis存的数字转换为stringfor(int i=0;i<30;i++){if(buffer[i]=='.'&& buffer[i+1]==0)//判断是否为整数{point_flag=FALSE; //标志位设置为“整数位”break;}}if(point_flag==TRUE) //如果是小数{for(int j=0;j<30;j++){if(buffer[j]==0){buffer[j-1]=0; //把’\0’之前的字符赋值为’\0’,就相当于剪掉最后一位break;}}}else//如果是整数{buffer[i-1]=0; //剪掉’.’之前那位}m_Dis=strtod(buffer,NULL);//再用strtod弄成浮点数UpdateData(FALSE);poz=1;}‘CE’按钮处理函数void CCalcDlg::OnCe(){if(numfirst!=0 && numsecond==0)//CE只能修改第二个数字{m_Dis=0; //把屏幕的值赋值为0UpdateData(FALSE);//并显示出来}}‘C’按钮处理函数void CCalcDlg::OnClear(){op=NULL; //清空符号numfirst=0;//清空第一个数字numsecond=0;//清空第二个数字point_flag=FALSE;//改为默认整数位poz=1;//小数点归位m_Dis=0;UpdateData(FALSE); //屏幕显示归0}键盘响应:void CCalcDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags){switch(nChar){case VK_NUMPAD0:OnNum0();break;case VK_NUMPAD1:OnNum1();break;case VK_NUMPAD2:OnNum2();break;case VK_NUMPAD3:OnNum3();break;case VK_NUMPAD4:OnNum4();break;case VK_NUMPAD5:OnNum5();break;case VK_NUMPAD6:OnNum6();break;case VK_NUMPAD7:OnNum7();break;case VK_NUMPAD8:OnNum8();break;case VK_NUMPAD9:OnNum9();break;case VK_ADD:OnAdd();break;case VK_SUBTRACT:OnMin();break;case VK_MULTIPLY:OnMul();break;case VK_DIVIDE:OnDiv();break;case VK_BACK:OnBackspace();break;case VK_DECIMAL:OnPt();break;case VK_DELETE:OnBackspace();break;case VK_RETURN:OnEqu();break;}CDialog::OnKeyDown(nChar, nRepCnt, nFlags);}BOOL CCalcDlg::PreTranslateMessage(MSG* pMsg){SendMessage(pMsg->message,pMsg->wParam,pMsg->lParam);return CDialog::PreTranslateMessage(pMsg);}总结:本次MFC计算器的制作,学习到了MFC基本的编程方法,增加了小组开发的团结协作能力。