模拟计算器程序C++_第1页
模拟计算器程序C++_第2页
模拟计算器程序C++_第3页
模拟计算器程序C++_第4页
模拟计算器程序C++_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、逵矽”EASTCHINAINSTHUTEOFTECHMOUJGV课程设计报告课程设计题目:模拟计算器程序学生姓名:专业:班级:指导教师:2011年11月24日东华理工大学课程设计评分表学生姓名:陈春英班级:10211303学号:1021130304课程设计题目:模拟计算器程序容内目项g评实选题求题选合符0知程课1時题合人结5hhz(厶冃Orm理合易难中适作工o能力水平定识知学所用应练熟匕匕厶冃oo-三、工加、加等应图能制o解见特独有o成果质量0求合指rm理合o臥构准结语、肘畅术流技一一口、语确、正明论分立何主冃学缶科概何艷析宀五分练;晰简理清述含W综谨版书严、明论谨说结严格0全号准编标统合号符

2、符,kt理准合范oo分总00日月年设计目标设计内容设计思想设计说明设计步骤主要成员函数关系图程序主要代码难点分析9.总结模拟计算器1设计目标了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式。2设计内容以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现简单的加,减,乘,除等运算,以学习应用MFC库类编写对话框的原理,加深对C+类的学习及应用。3.设计思想基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。4.设计说明包含的功能

3、有:加、减、乘、除运算等功能。计算器上数字09为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。计算功能基本上是用系统内部函数。程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。“CE”按钮可以清除所有已输入的数据从头计算5.设计步骤(1)选择FileNewlProject命令,选择MFCAppWizard(exe)创建Project名为Caa,按确定。在弹出界面选择创建对话框,单击Finish按钮匝计算祗制作人2邱蛊威杜艺忠X(3)为控件编辑框编辑ID,如图:按钮名称ID用途0I

4、DC_0按键01IDC_1按键12IDC_2按键23IDC_3按键34IDC_4按键45IDC_5按键56IDC_6按键67IDC_7按键78IDC_8按键89IDC_9按键9IDC_dian按键+/-IDC_zhengfu正负+IDC_jia加-IDC_jian减*IDC_cheng乘/IDC_chu除CEIDC_qinglin清零sqrtIDC_sqrt开方x*xIDC_pingfang平方=IDC_dengyu等于编辑框IDC_E1显示数据输入输出编辑框IDC_E1显示数据输入输出(4)进入ClassWizard界面选择MessageMaps为控件插入消息映射,插入消息函数,实现控件命令

5、功能。如图:(5)进入ClassWizard界面MessageVaribles为编辑框添加成员变量m_result用以显示结果。如图FCClassTicard?XMessageMapsMemberVariablesAnriomatlnnActiveXEventsClsssInto6.主要成员函数关系图7.程序主要代码#includeviostream.hclasscalculatorpublic:/外部接口friendvoidsee();friendvoidfunction(chari);friendvoidcaculate(doublea,charop,doubleb);private:ch

6、arop,i,D;/op定义为某个运算符号doublea,b;doubleanswer;voidfunction(chari)/定义功能函数charop,D;doublea,b;if(i=A)system(cls);如果是A,则清屏,调用清屏函数see();coutvv请输入两个数及运算符vvendl;实现二次操作的语句cinaopb;coutvv按=号计算结果vvendl;cinD;if(D=)caculate(a,op,b);/调用计算函数if(i=C)see();coutvv请输入两个数及运算符vvendl;cinaopb;coutvv按=号计算结果vvendl;cinD;if(D=)c

7、aculate(a,op,b);/调用计算函数if(i!=A|i!=C)coutvv输入有错!请重新输入ooovvendl;coutvv清屏按A!清除按Cvvendl;cini;function(i);voidcaculate(doublea,charop,doubleb)/定义计算函数chari;doubleanswer;coutvvttttttvv输出结果:;switch(op)/用switch语句定义加减乘除case+:answer=a+b;couta+b=answerendl;break;case-:answer=a-b;couta-b=answerendl;break;case*:a

8、nswer=a*b;couta*b=answerendl;break;case/:if(b!=0)answer=a/b;couta/b=answerendl;break;elsecouterror!endl;break;default:couterror!i;function(i);voidsee()couttendl;coutt欢迎使用计算器endl;couttendl;coutendl;coutendl;cpp#include#include/包含清屏函数的头文件#include2.hcalculatorc;voidmain()see();charop,i,D;/op定义为某个运算符号do

9、ublea,b;coutvv输入两个数及运算符:;cinaopb;coutvv按=号计算结果vvendl;cinD;if(D=)caculate(a,op,b);/调用计算函数8难点分析在利用MFC编写计算器过程中,遇到的技术上的问题,及解决方法。例如:计算数输入的处理在程序中使用m_operand来存储当前的输入。而程序只使用一个函数来处理所有数字输入,也就是说每次单击数字按钮就会调用该函数。由于计算数不仅仅是个位数,因此用户可能需要单击几个数字按钮来完成一个计算数的输入,这样在每次输入时都必须将输入的数字累加入m_operand中。而且对于小数输入和整数输入也必须采取不同的累加方式。如对整

10、数的输入,累加方式为: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中的部分。而添加消息映射

11、在执行文件AFX_MSG_MAP(CCaaDlg)/AFX_MSG_MAP中的部分。最后将消息处理函数添加到执行文件末即可。9总结课程设计到此已告一段落,经过团队的努力,在将近一个月的实践中课程设计基本完成了。从中学到很多有用的知识,也积累了不少宝贵的经验。从一开始对MFC这样一个陌生的类库名词,在不断的翻阅书籍学习中开始渐渐的有所了解,虽然在此次课程设计我们只是针对性的去学习对对话框应用程序的编程模式,但也体会到了MFC这类库的博大精深。想全部了解这样一个类库,今后还需多下功夫。本次课程设计我们完成了一个简易计算器应用软件,在此期间,遇上了不少的技术难题,但是经过努力,通过查找资料,难题还是一个个被解决了,从中学到了许多课堂上没学到的东西,这是很值得高兴的。经过设计的各个环节,从中学到了很多,锻炼了系统的设计的能力,培养了团队分工合作精神。这样对我们以后在工作中或学习中得到很好的锻炼,为用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论