计算器基于_C++MFC实现

上传人:aa****6 文档编号:29271456 上传时间:2018-01-23 格式:DOC 页数:17 大小:239KB
返回 下载 相关 举报
计算器基于_C++MFC实现_第1页
第1页 / 共17页
计算器基于_C++MFC实现_第2页
第2页 / 共17页
计算器基于_C++MFC实现_第3页
第3页 / 共17页
计算器基于_C++MFC实现_第4页
第4页 / 共17页
计算器基于_C++MFC实现_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《计算器基于_C++MFC实现》由会员分享,可在线阅读,更多相关《计算器基于_C++MFC实现(17页珍藏版)》请在金锄头文库上搜索。

1、课程实验报告课程名称 C+面向对象程序设计 班级 XXXXX 实验日期 2015-05-19姓名 XXX 学号 XXXXX 实验成绩实验名称 C+简单程序设计实验目的及要求1.学习使用 Visual C+的 MFC 开发程序的步骤。2.综合运用所学的类、继承和多态的知识开发程序。3.进一步熟练掌握程序调试方法。实验环境 Microsoft Visual C+实验内容1.利用 MFC 的向导创建基于对话框的应用程序,添加按钮、编辑框等控件。2.实现算数“加、减、乘、除”的运算。算法描述设计步骤:(1)打开 Microsoft Visual C+ 6.0,在文件中点击新建,在弹出框内选择MFC A

2、ppWizardexe工程,输入工程名 JISUANQI 并在其所在的位置点击确及实验步骤定。(2)将弹出 MFC AppWizard-step1 对话框,选择基本对话框点击完成。(3)基于对话窗口的程序框架建立成功。界面设计:(1)创建控件:在 Resource View 选项卡中打开 Dialog 资源组,双击IDD_JISUANQI,在右边的窗口中显示待编辑的对话框。开始摆放控件,包括编辑框和按钮的创建。(2)在对话框编辑窗口上合适的位置按下鼠标左键并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时弹出 Edit 属性对话框。(3)在对话框上

3、的合适的位置上按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。在按钮上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时也会弹出 push button 对话框。标题 ID 说明编辑框 ID_Edit 结果显示按钮 ID_Button0 0按钮 ID_Button1 1按钮 ID_Button2 2按钮 ID_Button3 3按钮 ID_Button4 4按钮 ID_Button5 5按钮 ID_Button6 6按钮 ID_Button7 7按钮 ID_Button8 8按钮 ID_Button9 9按钮 ID_ButtonJIA +按钮 ID_ButtonJIAN -按钮 ID_Bu

4、ttonCHENG *按钮 ID_ButtonCHU /按钮 ID_Buttonequal =按钮 ID_Buttonc 0链接代码和变量:(1)给编辑框连接变量。在编辑框上单击鼠标右键,在弹出的菜单中选择ClassWizard 菜单项,弹出 MFC ClassWizard 对话框选择 Member Variables 选项卡。(2)在 Control IDs 列表框中选择 IDC_Edit,单击 Add Variables 按钮,在弹出的对话框中链接变量 m_NUM。变量类型设定为 double 型。m_NUM 属性设置:给 X 按钮链接代码。在 X 按钮上单击鼠标右键,选择 ClassWi

5、zard 菜单项,在弹出的对话框中选择 Message Maps 选项卡,然后在 Object IDs 列表框中选择 BN_CLICKED 项,即单击按钮事件。菜单设计:(1)选择插入/资源命令,将显示插入资源对话框。选择 Menu,点击新建即可。(2)Resource View 选项卡中打开 Menu 资源组,双击 IDR_MENU1,然后给菜单添加相应的标题,并把每个菜单对应的 ID 值与相应的按钮一致。(3)在对话框的任何一个空白域单击鼠标右键,然后在弹出的快捷菜单中选择 Properties 命令,弹出 Dialog Properties 对话框,在对话框中的菜单组合框中选择 IDR_

6、MENU1。结构图:调试过程及实验结果1.初始化状态:2.加法运算:3.乘法运算:4.清零运算: 总结通过此次试验极大的锻炼了编码能力,巩固了之前所学的知识。实验过程中出现了些许问题,所幸都可以解决,并为以后的实验提供了经验。附录#include stdafx.h#include JISUANQI.h#include JISUANQIDlg.h#includemath.hbool ele2;int addt;int i;int dint;bool ele;double num1;double num2;class CAboutDlg : public CDialogpublic:CAboutD

7、lg();enum IDD = IDD_ABOUTBOX ;protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV supportprotected:DECLARE_MESSAGE_MAP();BOOL CJISUANQIDlg:OnInitDialog()OnBUTTONc();CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,

8、 IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE); / Set big iconSetIcon(m_hIcon, FALSE); / Set small iconreturn TRUE; / return TRUE unless you set the focus to a controlvoid CJISUANQIDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();el

9、seCDialog:OnSysCommand(nID, lParam);void CJISUANQIDlg:OnPaint()if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(int x =

10、(rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;dc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();void CJISUANQIDlg:OnButton0()/ TODO: Add your control notification handler code hereif(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+0;elsem_NUM=m_NUM*10-0;if(ele=TRUE)num1=0;dint=di

11、nt+;for(i=0;idint;i+)num1=num1/10; if(ele2=TRUE)m_NUM=(m_NUM-1)/10+num1;elsem_NUM=(m_NUM+1)/10-num1;UpdateData(FALSE);void CJISUANQIDlg:OnButton1()/ TODO: Add your control notification handler code hereint i;if(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+1;elsem_NUM=m_NUM*10-1;if(ele=TRUE)num1=1;dint=

12、dint+;for(i=0;idint;i+)num1=num1/10;if(ele2=TRUE)m_NUM=(m_NUM-1)/10+num1;elsem_NUM=(m_NUM+1)/10-num1;UpdateData(FALSE);void CJISUANQIDlg:OnButton2()/ TODO: Add your control notification handler code hereint i;if(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+2;elsem_NUM=m_NUM*10-2;if(ele=TRUE)num1=2;dint

13、=dint+;for(i=0;idint;i+)num1=num1/10;if(ele2=TRUE)m_NUM=(m_NUM-1)/10+num1;elsem_NUM=(m_NUM+1)/10-num1;UpdateData(FALSE);void CJISUANQIDlg:OnButton3()/ TODO: Add your control notification handler code hereif(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+3;elsem_NUM=m_NUM*10-3;if(ele=TRUE)num1=3;dint=dint

14、+;for(i=0;idint;i+)num1=num1/10; if(ele2=TRUE)m_NUM=(m_NUM-1)/10+num1;elsem_NUM=(m_NUM+1)/10-num1;UpdateData(FALSE);void CJISUANQIDlg:OnButton4()/ TODO: Add your control notification handler code hereif(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+4;elsem_NUM=m_NUM*10-4;if(ele=TRUE)num1=4;dint=dint+;fo

15、r(i=0;idint;i+)num1=num1/10;if(ele2=TRUE)m_NUM=(m_NUM-1)/10+num1;elsem_NUM=(m_NUM+1)/10-num1;UpdateData(FALSE);void CJISUANQIDlg:OnButton5()/ TODO: Add your control notification handler code hereif(addt=0)num2=0;if(ele2=TRUE)m_NUM=m_NUM*10+5;elsem_NUM=m_NUM*10-5;if(ele=TRUE)num1=5;dint=dint+;for(i=0;idint

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号