欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    简易计算器课程设计报告.docx

    • 资源ID:26950723       资源大小:14.09KB        全文页数:12页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简易计算器课程设计报告.docx

    简易计算器课程设计报告 C+程序设计(MFC)课程设计报告 设计题目:简易计算器 班级: 姓名: 学号: 指导教师: 时间:2022年6月30日 目录 1.设计目标 2.设计内容 3.设计思想 4.设计说明 5.设计步骤 6.主要成员函数关系图 7.程序主要代码 8. 难点分析 9. 总结 简易计算器(MFC) 1设计目标 了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式。 2设计内容 以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C+类的学习及应用。 3. 设计思想 基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。 4.设计说明 (1)包含的功能有:加、减、乘、除运算,开方、平方等功能。 (2)计算器上数字09为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。 (3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。 (4)计算功能基本上是用系统内部函数。 (5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。 (6)“CE”按钮可以清除所有已输入的数据从头计算 5. 设计步骤 (1)选择FileNewlProject命令,选择MFC AppWizard(exe)创建Project名为Caa,按确定。在弹出界面选择创建对话框,单击Finish按钮 (2)在生成的设计界面中加入控件,得到计算器应用界面。如图: (3)为控件编辑框编辑ID,如图: (4)进入ClassWizard界面选择Message Maps为控件插入消息映射,插入消息函数,实现控件命令功能。如图: (5) 进入ClassWizard界面Message Varibles为编辑框添加成员变量m_result 用以显示结果。如图: (6)在CaaDlg.h中加入在主要成员函数和成员变量的申明在CaaDlg.cpp 中加入主要成员函数实现过程和成员变量的初始化(代码片段将于后面介绍)。 6. 主要成员函数关系图 7.程序主要代码 /在头文件中手动添加成员函数与变量声明 / caaDlg.h : header file /定义两个euum型结构 enum Operator OpNone, OpAdd, OpSubtract, OpMultiply, OpDivide ; enum CalcError ErrNone, ErrDivideByZero ; float m_operand; /存储当前输入的操作数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); /处理数字输入 /在执行文件中添加成员函数实现部分与变量初始 / 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_coff=0.1; /为变量进行初始m_bCoff=0; /为变量进行初始 m_errorState = ErrNone; /为变量进行初始m_bOperandAvail=FALSE; /为变量进行初始m_operator=OpNone; /为变量进行初始 /以下是消息处理函数,用以响应消息映射 void CCaaDlg:On0() /处理“ 0”按钮 / TODO: Add your control notification handler code here OnOperandInput(0); void CCaaDlg:On1() /处理“ 1”按钮 / TODO: 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: Add 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 control notification handler code here OnOperandInput(7); 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 CCaaDlg:Oncheng() /处理“ *”按钮 / TODO: Add your control notification handler code here Calculate(); m_operator = OpMultiply; void CCaaDlg:Onchu() /处理“ /”按钮 / TODO: Add your control notification handler code here Calculate(); m_operator = OpDivide; void CCaaDlg:Ondengyu() /处理“ =”按钮 / TODO: Add your control notification handler code here Calculate(); m_operator = OpNone; void CCaaDlg:Ondian() /处理“ .”按钮 / TODO: Add your control notification handler code here m_bCoff=1; UpdateDisplay(); void CCaaDlg:Onjia() /处理“ +”按钮 / TODO: Add your control notification handler code here Calculate(); m_operator = OpAdd; void CCaaDlg:Onjian() /处理“ -”按钮 / TODO: Add your control notification handler code here Calculate(); m_operator = OpSubtract; void CCaaDlg:Onpingfang() /处理“ x*x”按钮 / TODO: Add your control notification handler code here m_operand*=m_operand; UpdateDisplay(); void CCaaDlg:Onqinglin() /处理“ CE”按钮 / TODO: Add your control notification handler code here m_operator = OpNone; m_operand = 0; m_accum = 0; m_bOperandAvail = FALSE; m_errorState = ErrNone; m_coff=0.1; m_bCoff=0; UpdateDisplay(); void CCaaDlg:Onsqrt() /处理“ sqrt”按钮 / TODO: Add your control notification handler code here m_operand=sqrt(m_operand); UpdateDisplay(); void CCaaDlg:Onzhengfu() /处理“ +/-”按钮 / TODO: Add your control notification handler code here m_operand*=-1; UpdateDisplay(); /以下是自定义函数,用于实现计算功能 void CCaaDlg:OnOperandInput(int a) /处理0-9 数字的输入函数 if (m_errorState != ErrNone) /判断当前运算是否有误,若有则返回return; if (!m_bOperandAvail) /判断是否输入新的数字,1-是 0-否m_operand = 0; if(!m_bCoff) /判断是否是小数输入,1-是 0-否m_operand=m_operand*10+(a); else m_operand=m_operand+(a)*m_coff; m_coff*=0.1; m_bOperandAvail=TRUE; UpdateDisplay(); /更新显示 void CCaaDlg:Calculate() /处理计算函数 if (m_errorState != ErrNone) return; if (m_bOperandAvail) /如果没有计算符就将m_operand值赋予m_accum if (m_operator = OpNone) m_accum = m_operand; else if (m_operator = OpMultiply) /否则按计算符进行计算m_accum *= m_operand; else if (m_operator = OpDivide) if (m_operand = 0) m_errorState = ErrDivideByZero; else m_accum /= m_operand; else if (m_operator = OpAdd) m_accum += m_operand; else if (m_operator = OpSubtract)

    注意事项

    本文(简易计算器课程设计报告.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开