ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:133.84KB ,
资源ID:3741947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3741947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算器基于 C++MFC实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算器基于 C++MFC实现.docx

1、计算器基于 C+MFC实现课程实验报告课程名称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,在文件中点击新建,在弹出框内选择MF

2、C AppWizardexe工程,输入工程名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_

4、ButtonCHENG * 按钮 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按钮上单击鼠标右键,选择ClassWizard菜单项,在弹出的对话

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

6、算: 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: CAboutDlg(); enum IDD = IDD_ABOUTBO

7、X ; protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support protected: DECLARE_MESSAGE_MAP();BOOL CJISUANQIDlg:OnInitDialog() OnBUTTONc(); CDialog:OnInitDialog(); ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF

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

9、t.DoModal(); else CDialog:OnSysCommand(nID, lParam); void CJISUANQIDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect

10、; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); void CJISUANQIDlg:OnButton0() / TODO: Add your control notification handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+0; else

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

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

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

14、dt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+3; else m_NUM=m_NUM*10-3; if(ele=TRUE) num1=3; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:OnButton4() / TODO: Add your control notification handler cod

15、e here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+4; else m_NUM=m_NUM*10-4; if(ele=TRUE) num1=4; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:OnButton5() / TODO: Add your control notification

16、 handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+5; else m_NUM=m_NUM*10-5; if(ele=TRUE) num1=5; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:OnButton6() / TODO: Add your control

17、notification handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+6; else m_NUM=m_NUM*10-6; if(ele=TRUE) num1=6; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:OnButton7() / TODO: Add y

18、our control notification handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+7; else m_NUM=m_NUM*10-7; if(ele=TRUE) num1=7; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:OnButton8() /

19、 TODO: Add your control notification handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+8; else m_NUM=m_NUM*10-8; if(ele=TRUE) num1=8; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJISUANQIDlg:O

20、nButton9() / TODO: Add your control notification handler code here if(addt=0) num2=0; if(ele2=TRUE) m_NUM=m_NUM*10+9; else m_NUM=m_NUM*1019; if(ele=TRUE) num1=9; dint=dint+; for(i=0;idint;i+) num1=num1/10; if(ele2=TRUE) m_NUM=(m_NUM-1)/10+num1; else m_NUM=(m_NUM+1)/10-num1; UpdateData(FALSE);void CJ

21、ISUANQIDlg:OnButtonPoint() / TODO: Add your control notification handler code herevoid CJISUANQIDlg:OnButtonEqual() / TODO: Add your control notification handler code here switch(addt) case 0: UpdateData(FALSE); break; case 1: m_NUM=num2+m_NUM; UpdateData(FALSE); break; case 2: m_NUM=num2-m_NUM; Upd

22、ateData(FALSE); break; case 3: m_NUM=num2*m_NUM; UpdateData(FALSE); break; case 4: m_NUM=num2/m_NUM; UpdateData(FALSE); break; num2=m_NUM; m_NUM=0; num1=0; dint=0; ele=FALSE; addt=0; ele2=TRUE;void CJISUANQIDlg:OnButtonJia() / TODO: Add your control notification handler code here if(addt!=0) OnButto

23、nEqual(); if(num2=0) num2=m_NUM; m_NUM=0; ele=FALSE; ele2=TRUE; dint=0; addt=1;void CJISUANQIDlg:OnButtonJian() / TODO: Add your control notification handler code here if(addt!=0) OnButtonEqual(); if(num2=0) num2=m_NUM; m_NUM=0; ele=FALSE; ele2=TRUE; dint=0; addt=2;void CJISUANQIDlg:OnButtonCheng()

24、/ TODO: Add your control notification handler code here if(addt!=0) OnButtonEqual(); if(num2=0) num2=m_NUM; m_NUM=0; ele=FALSE; ele2=TRUE; dint=0; addt=3;void CJISUANQIDlg:OnButtonChu() / TODO: Add your control notification handler code here if(addt!=0) OnButtonEqual(); if(num2=0) num2=m_NUM; m_NUM=0; ele=FALSE; ele2=TRUE; dint=0; addt=4;void CJISUANQIDlg:OnBUTTONc() / TODO: Add your control notification handler code here m_NUM=0; num1=0; num2=0; dint=0; addt=0; ele=FALSE; ele2=TRUE; UpdateData(FALSE);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1