收藏 分销(赏)

C专业课程设计任务计划书新.doc

上传人:丰**** 文档编号:2727379 上传时间:2024-06-05 格式:DOC 页数:13 大小:81.54KB 下载积分:8 金币
下载 相关 举报
C专业课程设计任务计划书新.doc_第1页
第1页 / 共13页
C专业课程设计任务计划书新.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
中南大学 本科生课程设计(实践)任务书、设计汇报 (C++程序设计) 题 目 简单计算器 学生姓名 李珍勤 指导老师 李大扬 学 院 资源加工和生物工程学院 专业班级 无机非金属材料1302班 学生学号 计算机基础教学试验中心 06 月26 日 简单计算器制作 摘要:MFC,calculator,加减乘除 关键词:计算器 1 计算器开发设计思想 (1) 试验目标:模拟日常生活中所用计算器,自行设计一个简单体系设计: (2) 程序是一个简单计算器,能正确输入数据,能实现加、减、乘、除等算术运算,能进行简单三角运算,运算结果能正确显示,能够清楚数据等。 (3) 设计思绪: (4) 先在Visual C++ 6.0中建立一个MFC工程文件,名为calculator. (5) 在对话框中添加合适编辑框、按钮、静态文件、复选框和单选框 (6) 设计按钮,并修改其对应ID和Caption. (7) 选择和设置各控件单击鼠标事件。 (8) 为编辑框添加double类型关联变量m_edit1. (9) 在calculatorDlg.h中添加math.h头文件,然后添加public组员。 (10) 打开calculatorDlg.cpp文件,在结构函数中,进行组员初始化和完善各控件响应函数代码。 (11) 计算器程序,实现简单计算功效。 2 计算器源代码及系统设计介绍 添加public组员: double tempvalue; //存放中间变量 double result; //存放显示结果值 int sort; //判定后面是何种运算:1.加法 2.减法 3.乘法 4.除法 int append; //判定后面是否添加数字 l 组员初始化: CCalculatorDlg::CCalculatorDlg(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 Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; } l 各控件响应函数代码: void CCalculatorDlg::OnButton1() //按钮“1” { // TODO: Add your control notification handler code here if(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 here if(append==1)result=0; result=result*10+2; m_edit1=result; append=0; UpdateData(FALSE); } void CCalculatorDlg::OnButton3() //按钮“3” { // TODO: Add your control notification handler code here if(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 code here if(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 here if(append==1)result=0; result=result*10+5; m_edit1=result; append=0; UpdateData(FALSE); } void CCalculatorDlg::OnButton6() //按钮“6” { // TODO: Add your control notification handler code here if(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 here if(append==1)result=0; result=result*10+7; m_edit1=result; append=0; UpdateData(FALSE); } void CCalculatorDlg::OnButton8() //按钮“8” { // TODO: Add your control notification handler code here if(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 here if(append==1)result=0; result=result*10+9; m_edit1=result; append=0; UpdateData(FALSE); } void CCalculatorDlg::OnBUTTONzero() //按钮“0” { // TODO: Add your control notification handler code here if(append==1)result=0; result=result*10+0; m_edit1=result; append=0; UpdateData(FALSE); } void CCalculatorDlg::OnBUTTONequal() //按钮“=” { // TODO: Add your control notification handler code here switch(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: Add your control notification handler code here tempvalue=0; result=0; m_edit1=0.0; UpdateData(FALSE); } void CCalculatorDlg::OnBUTTONplus() //按钮“+” { // TODO: Add your control notification handler code here sort=1; tempvalue=result; m_edit1=0; append=1; } void CCalculatorDlg::OnBUTTONminus() //按钮“-” { // TODO: Add your control notification handler code here sort=2; tempvalue=result; m_edit1=0; append=1; } void CCalculatorDlg::OnBUTTONmulti() //按钮“*” { // TODO: Add your control notification handler code here sort=3; tempvalue=result; m_edit1=0; append=1; } void CCalculatorDlg::OnBUTTONdiv() //按钮“/” { // TODO: Add your control notification handler code here sort=4; tempvalue=result; m_edit1=0; append=1; } void CCalculatorDlg::OnRadio1() //按钮“Sin” { // TODO: Add your control notification handler code here m_edit1=sin(result); UpdateData(FALSE); } void CCalculatorDlg::OnRadio2() //按钮“Cos” { // TODO: Add your control notification handler code here m_edit1=cos(result); UpdateData(FALSE); } void CCalculatorDlg::OnRadio3() //按钮“Tan” { // TODO: Add your control notification handler code here m_edit1=tan(result); UpdateData(FALSE); } void CCalculatorDlg::OnRadio4() //按钮“Log10” { // TODO: Add your control notification handler code here m_edit1=log10(result); UpdateData(FALSE); } 简单计算器: 运行测试: 3 计算器开发体会 A. 在做上面那个简单计算器时候,碰到问题极少,而且差不多全部是些很小问题,很轻易就处理了 B. 刚开始不知道怎样设置响应事件,怎样把这些小程序连接形成一个系统。 C. 在运行调试时候,发觉计算器减法和除法功效犯错,原来是减数和被减数、除数和被除数位置交换了;还有,连续点击“=”时显示结果会不停变动,处理方法是:加“sort=0;”语句;另外,在点击“=”后,再点击数字键时,会发觉点击对应数字会显示在原显示结果后面,处理方法是:加“append=1;”语句 D. 以后,在做后面测试和思索时,碰到问题就很多了。其中最棘手就是Backspace键和连续四则运算实现,其次就是SQRT,tan,tanh,AC等了解和响应代码编写,再者就是正负号和小数点处理,其工程量很大。 E. 不过还有很多细节问题处理不了,比如小数后面零因为是double型而不是字符型,所以显示不出来,还有连续四则运算实现不了,不过连续单一运算还是能够运行。 F. 经过此次试验,我首次认识了MFC,了解到其功效强大,及其实用性之强,只不过我还只是接触到其冰山一角而已,要想真正地掌握MFC还有很长路要走,还要投入更多精力。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服