欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C++面向对象程序设计简单计算器的设计 .doc

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

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

    C++面向对象程序设计简单计算器的设计 .doc

    面向对象程序设计 -简单计算器的设计一、问题描述简单计算器的基本功能如下:1. 四则运算,例如加减乘除等;2. 除了整数的运算也可实现小数的各类运算;3. 判断非法操作,例如判定1/0为非法操作;4. 其他特性;这个简易计算器只实现以上所述功能,即实现简单计算。二、设计思路计算器起始运行在归零状态,此时只接受数字输入,当按下一个数字按钮时,计算器只显示用户输入第一个操作数,用户在该状态下可以继续输入数字。1当第一个数字输入完成后,可以接受第二个操作数。2在数字输入结束进行运算后,按下=按钮可以根据前面按下的操作符计算结果显示,表示计算完成。3在上述计算过程中都可以接受双击等号回到清零状态。三、功能函数设计:1数字按钮这个是通过最基本的OnButton()将09十个数字按钮的单击消息处理函数用类向导全部关联到此,适文本框应该只是显示当前单击的数字;2小数点按钮函数OnDecimal这个函数主要是实现小数点在计算器的相关功能3列表在算法的函数OnSelchangeOperatorList()这一类按钮包括“+”“-”“*”“/”,它们的单击消息在同一个处理函数中进行处理,以同样的方法把这四个按钮的单击操作关联到此函数中,使四则运算法则在列表中通过选择去实现。4“=”符号函数OnEnquall()实现计算器中等号的功能,双击时也可使编辑框的数字归零。四、编码实现:int calculator_type_i;double count=10,value=0;double Input_data_int=0,Input_data_dec=0;double Inputdata1=0,Inputdata2=0;char datatostr_buffer10;bool decimal=FALSE;以上代码是添加的全局变量,为正确获取键盘输入供所有按钮函数使用。/ TODO: Add extra initialization herem_OperatorBox.AddString("-");m_OperatorBox.AddString("*");m_OperatorBox.AddString("/");m_OperatorBox.AddString("+");以上代码是初始化列表框,并使其在程序运行时具有“加”“减”“乘”“除”可选择功能。void CMyCalculatorDlg:On1Button() if(decimal)Input_data_dec=Input_data_dec+1/count;count=10*count;else Input_data_int=10*Input_data_int+1; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On2Button() if(decimal)Input_data_dec=Input_data_dec+2/count;count=10*count;else Input_data_int=10*Input_data_int+2; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On3Button() if(decimal)Input_data_dec=Input_data_dec+3/count;count=10*count;else Input_data_int=10*Input_data_int+3; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On4Button() if(decimal)Input_data_dec=Input_data_dec+4/count;count=10*count;else Input_data_int=10*Input_data_int+4; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On5Button() if(decimal)Input_data_dec=Input_data_dec+5/count;count=10*count;else Input_data_int=10*Input_data_int+5; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On6Button() if(decimal)Input_data_dec=Input_data_dec+6/count;count=10*count;else Input_data_int=10*Input_data_int+6; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On7Button() if(decimal)Input_data_dec=Input_data_dec+7/count;count=10*count;else Input_data_int=10*Input_data_int+7; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On8Button() if(decimal)Input_data_dec=Input_data_dec+8/count;count=10*count;else Input_data_int=10*Input_data_int+8; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On9Button() if(decimal)Input_data_dec=Input_data_dec+9/count;count=10*count;else Input_data_int=10*Input_data_int+9; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:On0Button() if(decimal)Input_data_dec=Input_data_dec+0/count;count=10*count;else Input_data_int=10*Input_data_int+0; value=Input_data_int+Input_data_dec; _gcvt(value,10,datatostr_buffer); m_ShowResultEdit=(LPCTSTR)datatostr_buffer;/ TODO: Add your control notification handler code hereUpdateData(false);void CMyCalculatorDlg:OnDecimalButton() decimal=TRUE;/ TODO: Add your control notification handler code herevoid CMyCalculatorDlg:OnEqualButton() Inputdata2=Input_data_int+Input_data_dec;decimal=FALSE;Input_data_int=0;Input_data_dec=0;count=10;switch(calculator_type_i)case 0: value=Inputdata1-Inputdata2; break; case 1: value=Inputdata1*Inputdata2; break; case 2: if(Inputdata2=0) MessageBox("除数不能为0!"); break; else value=Inputdata1/Inputdata2; break; case 3: value=Inputdata1+Inputdata2; break;_gcvt(value,10,datatostr_buffer);m_ShowResultEdit=(LPCTSTR)datatostr_buffer;UpdateData(false); void CMyCalculatorDlg:OnChangeShowResultEdit() / TODO: If this is a RICHEDIT control, the control will not/ send this notification unless you override the CDialog:OnInitDialog()/ function and call CRichEditCtrl().SetEventMask()/ with the ENM_CHANGE flag ORed into the mask./ TODO: Add your control notification handler code herevoid CMyCalculatorDlg:OnErrspaceShowResultEdit() / TODO: Add your control notification handler code herevoid CMyCalculatorDlg:OnSelchangeOperatorList() Inputdata1=Input_data_int+Input_data_dec; decimal=FALSE; Input_data_int=0; Input_data_dec=0; count=10; calculator_type_i=m_OperatorBox.GetCurSel();/ TODO: Add your control notification handler code here五、运行测试截图如下:1、计算器初始状态如下:2、下面计算45+35,输入45,显示如下:3、输入“-”,然后接着输入“35”,显示如下:4、输入“=”,显示如下:六、课程设计心得 做个这个课程设计,让我学习到了一些Visual C+6.0的基本使用步骤,以及对如何运用MFC去进行应用程序的设计有一个初步的了解,此外让我从实践中掌握到了C+中类和相关函数,全局变量的应用。对于简单计算器功能的实现更是让我体验到了学习专业知识的重要性。

    注意事项

    本文(C++面向对象程序设计简单计算器的设计 .doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开