




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程设计题目:模拟计算器程序 学生姓名: 专 业: 班 级 : 指导教师 : 2011年 11 月24 日东华理工大学课程设计评分表学生姓名:陈春英 班级:10211303 学号:1021130304课程设计题目:模拟计算器程序项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日目 录1.设计目标2.设计内容3.设计思想 4.设计说明5.设计步骤6.主要成员函数关系图7.程序主要代码8. 难点分析9. 总结模拟计算器1设计目标了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式。2设计内容以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C+类的学习及应用。3. 设计思想基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。4. 设计说明(1)包含的功能有:加、减、乘、除运算等功能。(2)计算器上数字09为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。(3)输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。(4)计算功能基本上是用系统内部函数。(5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。(6)“CE”按钮可以清除所有已输入的数据从头计算5. 设计步骤(1)选择FileNewlProject命令,选择MFC AppWizard(exe)创建Project名为Caa,按确定。在弹出界面选择创建对话框,单击Finish按钮(3)为控件编辑框编辑ID,如图:按钮名称ID用途0IDC_0按键01IDC_1按键12IDC_2按键23IDC_3按键34IDC_4按键45IDC_5按键56IDC_6按键67IDC_7按键78IDC_8按键89IDC_9按键9.IDC_dian按键 .+/-IDC_zhengfu正负+IDC_jia加-IDC_jian减*IDC_cheng乘/IDC_chu除CEIDC_qinglin清零sqrtIDC_sqrt开方x*xIDC_pingfang平方=IDC_dengyu等于编辑框IDC_E1显示数据输入输出(4)进入ClassWizard界面选择Message Maps为控件插入消息映射,插入消息函数,实现控件命令功能。如图: (5) 进入ClassWizard界面Message Varibles为编辑框添加成员变量m_result用以显示结果。如图6. 主要成员函数关系图按钮09.函数如: 6. 主要成员函数关系图On0( ).On1( ).On2( ).处理数字输入OnOperandInput( )计算Calculate( )显示输出UpdateDisplay( )按 钮 + - * / . = 函数如:Onjia( ). Onjian( ).Oncheng( ) .按 钮 sqrt x*x 函数:Onsqrt( ).Onpingfang( )7. 程序主要代码# include class calculatorpublic: /外部接口friend void see ();friend void function(char i);friend void caculate(double a,char op,double b);private:char op,i,D; / op定义为某个运算符号double a,b;double answer;void function(char i) /定义功能函数char op,D; double a,b;if(i=A)system(cls); /如果是A,则清屏,调用清屏函数see ();cout请输入两个数及运算符aopb;cout按=号计算结果D;if(D=)caculate(a,op,b);/ 调用计算函数 if(i=C)see ();cout请输入两个数及运算符aopb;cout按=号计算结果D;if(D=)caculate(a,op,b);/ 调用计算函数if(i!=A | i!=C)cout输入有错!请重新输入。endl;cout清屏按A!,清除按Ci;function(i);void caculate(double a,char op,double b) /定义计算函数 char i;double answer;couttttttt输出结果:; switch(op) /用switch语句定义加减乘除case+:answer=a+b;couta+b=answerendl;break;case-:answer=a-b;couta-b=answerendl;break;case*:answer=a*b;couta*b=answerendl;break;case/:if(b!=0)answer=a/b;couta/b=answerendl;break;elsecouterror!endl;break;default:couterror!endl;cout清屏按A!,清除按Ci;function(i);void see () coutt-endl; coutt 欢 迎 使 用 计 算 器 endl; coutt-endl; coutendl; coutendl;cpp#include#include /包含清屏函数的头文件#include2.h calculator c;void main() see ();char op,i,D; / op定义为某个运算符号double a,b;coutaopb; cout按=号计算结果D;if(D=)caculate(a,op,b);/ 调用计算函数8 难点分析 在利用MFC编写计算器过程中,遇到的技术上的问题,及解决方法。例如:计算数输入的处理在程序中使用m_operand来存储当前的输入。而程序只使用一个函数来处理所有数字输入,也就是说每次单击数字按钮就会调用该函数。由于计算数不仅仅是个位数,因此用户可能需要单击几个数字按钮来完成一个计算数的输入,这样在每次输入时都必须将输入的数字累加入m_operand中。而且对于小数输入和整数输入也必须采取不同的累加方式。如对整数的输入,累加方式为: m_operand=m_operand*10+n;其中n为输入的数字。而对于小数输入,累加方式为:m_operand=m_operand+n*10i ;其中n为数字,i为小数位数。因此在程序中还需设立布尔型变量m_coff 的值来标识当按下按钮小数点的时候来确定调用哪个累加方式。自定义消息处理函数、成员函数、变量在添加自定义函数、变量时需注意函数及变量的声明在头文件中如:CaaDlg.h ;而函数的实现部分及变量的初始在执行文件中如:CaaDlg.cpp 。值得提醒的是手动添加消息处理函数时,需声明在头文件/AFX_MSG(CCaaDlg) /AFX_MSG中的部分。而添加消息映射在执行文件/AFX_MSG_MAP(CCaaDlg) /AFX_MSG_MAP中的部分。 最后将消息处理函数添加到执行文件末即可。9 总结课程设计到此已告一段落,经过团队的努力,在将近一个月的实践中课程设计基本完成了。从中学到很多有用的知识,也积累了不少宝贵的经验。从一开始对MFC这样一个陌生的类库名词,在不断的翻阅书籍学习中开始渐渐的有所了解,虽然在此次课程设计我们只是针对性的去学习对对话框应用程序的编程模式,但也体会到了MFC这类库的博大精深。想全部了解这样一个类库,今后还需多下功夫。本次课程设计我们完成了一个简易计算器应用软件,在此期间,遇上了不少的技术难题,但是经过努力,通过查找资料,难题还是一个个被解决了,从中学到了许多课堂上没学到的东西,这是很值得高兴的。经过设计的各个环节,从中学到了很多,锻炼了系统的设计的能力,培养了团队分工合作精神。这样对我们以后在工作中或学习中得到很好的锻炼,为用VC+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考研文学真题资料(3篇)
- 2025年天津市南开区天津大学附小小升初语文试卷
- 强对流天气安全科普题库及答案解析
- 4s店安全培训试题及答案解析
- 甲乙酮装置操作工设备维护与保养考核试卷及答案
- 2025年上海市安全员C证题库及答案解析
- 起重工安全操作考试题库及答案解析
- 2025年食品安全考试试题库+答案
- 车间安全赦与培训试题及答案解析
- 2025年上海市安全b证考试题库及答案解析
- 自来水企业内部管理规范
- 2025新热处理工程师考试试卷及答案
- 硬笔书法全册教案共20课时
- 工会兼职补助管理办法
- 纸箱不合格品管理制度
- 广东省高州市全域土地综合整治项目(一期)可行性研究报告
- 混凝土试件养护协议书
- 股份清算协议书范本
- 成人门急诊急性呼吸道感染诊治与防控专家共识 2
- 脑血管造影术围手术期管理
- 岗位化验员述职报告
评论
0/150
提交评论