




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 题目:简单计算器2. 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。3. 实验主要硬件软件环境:window 7visual c+ 6.04. 实验内容:(1) 体系设计:程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,能进行简单三角运算,运算结果能正确显示,可以清楚数据等。(2) 设计思路:1) 先在visual c+ 6.0中建立一个mfc工程文件,名为calculator.2) 在对话框中添加适当的编辑框、按钮、静态文件、复选框和单选框3) 设计按钮,并修改其相应的id与caption.4) 选择和设置各控件的单击鼠
2、标事件。5) 为编辑框添加double类型的关联变量m_edit1.6) 在calculatordlg.h中添加math.h头文件,然后添加public成员。7) 打开calculatordlg.cpp文件,在构造函数中,进行成员初始化和完善各控件的响应函数代码。(3) 程序清单:l 添加的public成员:double tempvalue; /存储中间变量double result; /存储显示结果的值int sort; /判断后面是何种运算:1.加法 2.减法 3.乘法 4.除法int append; /判断后面是否添加数字l 成员初始化:ccalculatordlg:ccalculato
3、rdlg(cwnd* pparent /*=null*/): cdialog(ccalculatordlg:idd, pparent)/afx_data_init(ccalculatordlg)m_edit1 = 0.0;/afx_data_init/ note that loadicon does not require a subsequent destroyicon in win32m_hicon = afxgetapp()-loadicon(idr_mainframe);tempvalue=0;result=0;sort=0;append=0;l 各控件响应函数代码:void ccal
4、culatordlg:onbutton1() /按钮“1”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+1; m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton2() /按钮“2”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+2;
5、m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton3() /按钮“3”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+3;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton4() /按钮“4”/ todo: add your control notification handler
6、 code hereif(append=1)result=0;result=result*10+4;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton5() /按钮“5”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+5;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton6() /
7、按钮“6”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+6;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton7() /按钮“7”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+7;m_edit1=result;append=0;u
8、pdatedata(false);void ccalculatordlg:onbutton8() /按钮“8”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+8;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbutton9() /按钮“9”/ todo: add your control notification handler code hereif(append=1)res
9、ult=0;result=result*10+9;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbuttonzero() /按钮“0”/ todo: add your control notification handler code hereif(append=1)result=0;result=result*10+0;m_edit1=result;append=0;updatedata(false);void ccalculatordlg:onbuttonequal() /按钮“=”/ todo: add y
10、our control notification handler code hereswitch(sort)case 1:result=result+tempvalue;break;case 2:result=tempvalue-result;break;case 3:result=result*tempvalue;break;case 4:result=tempvalue/result;break;m_edit1=result;sort=0;append=1;updatedata(false);void ccalculatordlg:onbuttonclean() /按钮“c”/ todo:
11、 add your control notification handler code heretempvalue=0;result=0;m_edit1=0.0;updatedata(false);void ccalculatordlg:onbuttonplus() /按钮“+”/ todo: add your control notification handler code heresort=1;tempvalue=result;m_edit1=0;append=1;void ccalculatordlg:onbuttonminus() /按钮“-”/ todo: add your con
12、trol notification handler code heresort=2;tempvalue=result;m_edit1=0;append=1;void ccalculatordlg:onbuttonmulti() /按钮“*”/ todo: add your control notification handler code heresort=3;tempvalue=result;m_edit1=0;append=1;void ccalculatordlg:onbuttondiv() /按钮“/”/ todo: add your control notification hand
13、ler code heresort=4;tempvalue=result;m_edit1=0;append=1;void ccalculatordlg:onradio1() /按钮“sin”/ todo: add your control notification handler code herem_edit1=sin(result);updatedata(false);void ccalculatordlg:onradio2() /按钮“cos”/ todo: add your control notification handler code herem_edit1=cos(result
14、);updatedata(false);void ccalculatordlg:onradio3() /按钮“tan”/ todo: add your control notification handler code herem_edit1=tan(result);updatedata(false);void ccalculatordlg:onradio4() /按钮“log10”/ todo: add your control notification handler code herem_edit1=log10(result);updatedata(false);(4) 程序调试:简单计
15、算器:测试与思考: 5. 小结:a. 在做上面那个简单计算器的时候,遇到的问题很少,而且差不多都是些很小的问题,很容易就解决了b. 刚开始,在老师没讲课之前,不知道如何设置响应事件,经老师讲解后,很快就解决了c. 在运行的调试的时候,发现计算器的减法与除法的功能出错,原来是减数与被减数、除数与被除数的位置互换了;还有,连续点击“=”时显示结果会不停变动,解决方法是:加“sort=0;”语句;另外,在点击“=”后,再点击数字键时,会发现点击的相应数字会显示在原显示结果的后面,解决方法是:加“append=1;”语句d. 后来,在做后面的测试与思考时,遇到的问题就很多了。其中最棘手的就是backspace键和连续四则运算的实现,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 作协议合同范本
- 关于管道疏通合同范本
- 别墅弱电智能合同范本
- 产品合同范本模板写
- 农资代理合同范本
- 上海婚宴延期合同范本
- 上海小时工外包合同范本
- 个人续签合同范本
- 农村开发项目合同范本
- 写电子产品合同范本
- 中国食物成分表2020年权威完整改进版
- 【MOOC】影视鉴赏-扬州大学 中国大学慕课MOOC答案
- 危险性较大的分部分项工程清单安全管理措施
- 高压输电线路质量、检查、验收培训课件
- 二年级数学下册重点思维每日一练小纸条
- 混合型颈椎病课件
- 国家安全教育教案分享
- 2024公共数据授权运营实施方案
- 5A护理模式在老年手术患者VTE防控中的应用课件
- 电动车维护与保养操作手册
- 2024年广西高考化学试卷真题(含答案解析)
评论
0/150
提交评论