欢迎来到天天文库
浏览记录
ID:53314889
大小:173.00 KB
页数:6页
时间:2020-04-03
《计算器程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、青岛理工大学课程实验报告课程名称C++面向对象程序设计班级网络121班实验日期2014.6.6姓名谢茂盛学号201207131实验成绩实验名称实验五实验目的及要求1.学习使用VisualC++的MFC开发程序的步骤。2.综合运用所学的类、继承和多态的知识开发程序。3.进一步熟练掌握程序调试方法。实验环境操作系统:windows7编译环境:VC6.0实验内容1利用MFC的向导创建基于对话框的应用程序,添加按钮、编辑框等控件。2实现算术“加、减、乘、除”的运算。3选做添加计算三角函数运算、对数运算、指数运算、进制转换等功能。算法描述及实1加入数据成员:clas
2、sCCamputer01Dlg:publicCDialog{private:CStringm_curNum;//第一个数据CStringm_preNum;//第二个数据boolisop;//保存是否点击了运算按钮intop;//保存运算按钮boolisq;inti;}2首先是数字和小数点按钮的功能实现,构造一个bool类型的变量,用于判断是否按下运算符,如果没按运算符,则把输入的数字赋给number1,否则把输入的数字赋给number2。3‘=’按钮的功能实现,分别将string类型的num1,num2通过atof转化成6验步骤double型变量numbe
3、r1,number2,然后通过op变量选择一种运算,最后将结果通过m_display输出到编辑框。4运算符按钮的功能实现,定义一个i变量,用于计算点击运算符的次数,如果只按一次,则进行平时的运算,按了多次则将结果赋值给num1,继续运算。5‘归零’按钮的功能实现,将m_result,number1,number2,isop都初始化。调试过程及实验结果666总结通过这次实验,我初步的掌握了关于MFC编程的一些知识,比如按钮功能的实现,但是主要还是要清楚编程的思路,把握编程的目的,弄清楚到底要实现什么功能,只要把这个思路理清楚了,完成这个实验还是蛮容易的,在试
4、验中,我也遇到过很多问题,也想到了一些解决办法,比如:用一个i判断是否把m_display复制给num1,这样方便用户利用上一次的数据来继续进行运算;用一个isresult判断到底把输入的值赋值给num1还是num2,;还了解了atof()是将string类型改为double类型的函数。总的来说,这次实验自己完成的还是比较顺利的,也非常满意,对自己的编程能力提升了不少。附录数字以及小数点按钮代码(仅列出1的代码,其他数字代码一样):voidCCamputer01Dlg::Onone(){if(isop==FALSE){m_curNum+="1";m_res
5、ult=m_curNum;UpdateData(false);}if(isop==TRUE){m_preNum+="1";m_result=m_preNum;UpdateData(false);}}运算符代码(仅列出减法等于号按钮代码:voidCCamputer01Dlg::Onequals(){doublenumber1=atof(m_curNum);doublenumber2=atof(m_preNum);doubleresult=0.0;switch(op){case1:result=number1+number2;break;case2:resul
6、t=number1-number2;break;case3:result=number1*number2;break;case4:result=number1/number2;break;case5:result=(int)number1%(int)number2;break;case6代码,其他运算符代码一样):voidCCamputer01Dlg::Onjian(){isop=TRUE;op=2;if(i>=0){m_preNum="";m_curNum=m_result;}i++;}6:result=(double)pow((int)number1,
7、(int)number2);break;case7:result=logab(number1,number2);break;default:AfxMessageBox("程序运行错误");break;}m_result="";m_result.Format("%f",result);UpdateData(false);}Ce按钮代码:voidCCamputer01Dlg::Once(){m_curNum="";//第一个数据m_preNum="";//第二个数据isop=FALSE;//保存是否点击了运算按钮m_result="";i=-1;UpdateD
8、ata(false);}6
此文档下载收益归作者所有