ThismodelpaperwasrevisedbytheStandardizationOfficeonDecember10,2020c计算器实验报告简单计算器姓名:周吉祥实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。实验
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
:体系设计:程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。设计思路:先在VisualC++6.0中建立一个MFC工程文件,名为calculator.在对话框中添加适当的编辑框、按钮、静态文件、复选框和单选框设计按钮,并修改其相应的ID与Caption.选择和设置各控件的单击鼠标事件。为编辑框添加double类型的关联变量m_edit1.在calculatorDlg.h中添加math.h头文件,然后添加public成员。打开calculatorDlg.cpp文件,在构造函数中,进行成员初始化和完善各控件的响应函数代码。程序清单:添加的public成员:doubletempvalue;//存储中间变量doubleresult;//存储显示结果的值intsort;//判断后面是何种运算:1.加法2.减法3.乘法4.除法intappend;//判断后面是否添加数字成员初始化:CCalculatorDlg::CCalculatorDlg(CWnd*pParent/*=NULL*/):CDialog(CCalculatorDlg::IDD,pParent){//{{AFX_DATA_INIT(CCalculatorDlg)m_edit1=0.0;//}}AFX_DATA_INIT//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);tempvalue=0;result=0;sort=0;append=0;}各控件响应函数代码:voidCCalculatorDlg::OnButton1()//按钮“1”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+1;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton2()//按钮“2”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+2;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton3()//按钮“3”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+3;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton4()//按钮“4”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+4;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton5()//按钮“5”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+5;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton6()//按钮“6”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+6;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton7()//按钮“7”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+7;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton8()//按钮“8”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+8;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnButton9()//按钮“9”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+9;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnBUTTONzero()//按钮“0”{//TODO:Addyourcontrolnotificationhandlercodehereif(append==1)result=0;result=result*10+0;m_edit1=result;append=0;UpdateData(FALSE);}voidCCalculatorDlg::OnBUTTONequal()//按钮“=”{//TODO:Addyourcontrolnotificationhandlercodehereswitch(sort){case1:result=result+tempvalue;break;case2:result=tempvalue-result;break;case3:result=result*tempvalue;break;case4:result=tempvalue/result;break;}m_edit1=result;sort=0;append=1;UpdateData(FALSE);}voidCCalculatorDlg::OnBUTTONclean()//按钮“退出”{//TODO:Addyourcontrolnotificationhandlercodeheretempvalue=0;result=0;m_edit1=0.0;UpdateData(FALSE);}voidCCalculatorDlg::OnBUTTONplus()//按钮“+”{//TODO:Addyourcontrolnotificationhandlercodeheresort=1;tempvalue=result;m_edit1=0;append=1;}voidCCalculatorDlg::OnBUTTONminus()//按钮“-”{//TODO:Addyourcontrolnotificationhandlercodeheresort=2;tempvalue=result;m_edit1=0;append=1;}voidCCalculatorDlg::OnBUTTONmulti()//按钮“*”{//TODO:Addyourcontrolnotificationhandlercodeheresort=3;tempvalue=result;m_edit1=0;append=1;}voidCCalculatorDlg::OnBUTTONdiv()//按钮“/”{//TODO:Addyourcontrolnotificationhandlercodeheresort=4;tempvalue=result;m_edit1=0;append=1;}程序调试:简单计算器测试与思考:小结:在做上面那个简单计算器的时候,遇到的问题很少,而且差不多都是些很小的问题,很容易就解决了刚开始,在老师没讲课之前,不知道如何设置响应事件,经老师讲解后,很快就解决了在运行的调试的时候,发现计算器的减法与除法的功能出错,原来是减数与被减数、除数与被除数的位置互换了;还有,连续点击“=”时显示结果会不停变动,解决方法是:加“sort=0;”语句;另外,在点击“=”后,再点击数字键时,会发现点击的相应数字会显示在原显示结果的后面,解决方法是:加“append=1;”语句