




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
4、CCalculatorDlg: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*1
5、0+2;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 han
6、dler 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
8、=0;UpdateData(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
9、)result=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: A
10、dd your 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”/ T
11、ODO: 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
12、 control 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
13、handler 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(re
14、sult);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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 店面转租3方合同协议
- 合同诈骗双方解除协议
- 建筑管理员聘用协议合同
- 上海厂房合同协议
- epc市政项目施工合同协议
- 工程行业劳务合同协议
- app技术维护合同协议
- 废旧工厂出售合同协议
- 店面装修半包合同协议
- 香港仓储服务协议合同
- GB/T 1357-1987渐开线圆柱齿轮模数
- 中国书法简史课件
- 上海交通大学回校宣传课件
- Taboo and Euphemism 禁忌语和委婉语课件
- 机械原理课程设计-自动盖章机
- 三氯化硼-安全技术说明书MSDS
- 常用的饲料加工设备图形符号
- GB∕T 28575-2020 YE3系列(IP55)三相异步电动机技术条件(机座号63~355)
- 《通过感官来发现》PPT
- 施工临时便桥、便道安全要求内容
- 40篇短文搞定高考英语3500词(共42页)
评论
0/150
提交评论