C课程设计基于MFC计算器_第1页
C课程设计基于MFC计算器_第2页
C课程设计基于MFC计算器_第3页
C课程设计基于MFC计算器_第4页
C课程设计基于MFC计算器_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着科学的发展,计算机的应用越来越广泛,而运用计算机中的计算机语言写程序必然是很多的。是目前国内外最广泛使用的程序设计语言之一,它具有处理功能丰富、表达能力强、使用方便灵活、执行程序效率较高等优点。而且得是一种结构化程序设计语言;另外,的函数式结构也为实现程序化模块设计提供了强有力的保正。所以很多人都把作为编程的首选语言。本次课程设计就是利用的丰富表达能力来编写一个简单计算器,模拟系统的计算器进行简单的计算;在编写这次课程设计中要求利用来画出计算器的图形界面,并且保证可以进行基本的计算。关键字:简单计算器图形界面基本计算课程设计任务书设计题目:基于的简单计算器设计学生姓名岑余霞课程名称面向对象程序设计课程设计专业班级计科1003班地点I305306起止时间6月27日~7月8日设计内容及要求以自带的计算器为蓝本,设计一个简单的10进制数计算器能进行实数(整数和浮点数)的算术运算(加、减、乘、除和求余数),要求在编辑框中输入运算量的输入。参考界面如下图所示,其中红色框标注的部分要求必须完成,蓝色框标注的部分属选作内容。该计算器主要进行实数的单目和双目运算,使用过程如下:1)单目运算,例如对于要求先输入数字,然后点击“”按钮,完成取对数运算并把结果显示在编辑框中。2)双目运算,例如进行加法要求先输入第1加数,然后点击“+”按钮,再输入第2加数最后点击“=”按钮,完成计算并在编辑框中显示运算结果。注意:\o\(○,1)输入的浮点数中小数点不得超过1个;\o\(○,2)对、、和取偶数次方根等4类功能要做数据的合法性检查。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图型界面方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求6月28日第一大节、第二大节讲解程序设计的基础知识6月28日第三大节、第四大节学生练习简单窗口程序设计6月30日第一大节、第二大节讲解消息处理函数、消息传递机制6月30日第三大节、第四大节学生练习控件的使用6月31日第一大节、第二大节学生实现第一阶段的阶段性成果6月31日第三大节、第四大节学生实现第一阶段的阶段性成果7月3日第一大节、第二大节讲解基于对话框的程序的实现7月3日第三大节、第四大节学生学习控件的使用7月4日第一大节、第二大节讲解封装的消息响应机制7月4日第三大节、第四大节学生练习消息响应函数的编写7月5日第一大节、第二大节学生选择第3阶段的题目7月5日第三大节、第四大节规划设计方案7月6日第一大节、第二大节编程实现7月6日第三大节、第四大节编程实现7月7日第一大节、第二大节编程实现7月7日第三大节、第四大节程序测试7月8日第一大节、第二大节编写课程设计报告7月8日第三大节、第四大节课程设计答辩参考资料[1][美]帕罗塞斯.《程序设计》.清华大学出版社.2007[2][美].《》.人民邮电出版社.2006其它说明1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师:伍建全/陈应祖/焦小军/易军/张亚军2011目录\o"1-3"\h\u\l21915摘要 219152\l32235课程设计任务书 322353\l21054第一章设计内容及要求 210547\l111901.1计算器的基本要求 111907\l250361.2需实现的主要功能 250367\l28028第二章需求分析 280288\l82562.1界面及布局设计 82568\l100912.2简单计算的实现方法 100918\l4280第三章系统设计 42809\l2103.1总体功能图 2109\l294873.2总体流程图 294879\l16394第四章主要功能设计流程 1639411\l270934.1单目运算实现流程图 2709311\l17424.2双目运算流程图 174211\l16001第五章代码实现 1600113\l47375.1代码的实现 473713\l287745.2运行效果图 2877413\l10106第六章系统测试 1010616\l13482致谢 1348219\l18374参考文献: 1837420\l10396附录:源程序代码 1039621第一章设计内容及要求1.1计算器的基本要求(1)设计的计算器界面。计算器界面是基于的所画出来的;其中界面主要由和所组成。通过鼠标点击按键即可在中显示数据和进行运算。(2)程序要求用户在运行过程中注意不同函数的定义域,若用户按键的数值不符合要求,计算器则会弹出一个提醒你的对话框。(3)用户在计算一次以后,可以通过按键清空以前记录,进行下一次的计算。1.2需实现的主要功能(1)需完成简单的双目运算,例如加、减、乘、除等。(2)需完成三角函数,,的计算,并且要注意其定义域。(3)需完成简单的与,或,非,异或等简单运算。(4)需完成对数函数以10为底的,,及简单的阶乘运算。(5)需完成任意数的开根和次方,并且要注意数值要求。(6)还需完成对数值的清除及清除全部内容的功能。

第二章需求分析2.1界面及布局设计系统布局主要采用了的的对话框,运用了文本框、按键、面板等组件;文本框的主要功能:联系按键,通过增加文本框的成员,将按键运用按键函数和文本框联系起来,即按键即可在文本框中显示相应的数值。按键功能:按键用于调用按键函数,通过按键函数来实现计算器相应的计算步骤。2.2简单计算的实现方法该计算器的简单计算实现是基于语句,定义一个全局变量,通过对赋值调用相应的语句实现相应的计算。加减乘除运算的实现。该计算主要以简单的运算符+、-、*、/来实现。较复杂的运算的实现,例如简单的对数运算,与或非运算,开根和次方。该计算主要运用中的函数调用实现的,不同的运算调用相应的函数来实现,但是需注意的就是相应的函数就只能进行运算而已,而数值是否符合该函数就需要自己进行判断,如若数值不符合函数定义域,计算则会出现错误。阶乘运算的实现。该运算的实现运用了递归,较为方便的写出递归函数即可进行阶乘运算。

第三章系统设计3.1总体功能图根据需求所作的分析,需要完成简单的双目运算,例如加、减、乘、除等;需完成三角函数,,的计算,并且要注意其定义域;需完成简单的与,或,非,异或等简单运算;需完成对数函数以10为底的,,及简单的阶乘运算;需完成任意数的开根和次方,并且要注意数值要求;还需完成对数值的清除及清除全部内容的功能。三角函数平方立方开二次根阶乘运算求1E的n次方运算按键输入数字与或非X的n次方X的n次根求余加减乘除双目运算单目运算按键输入数字主界面根据系统需求,计算器的总功能图如图3-1所示:三角函数平方立方开二次根阶乘运算求1E的n次方运算按键输入数字与或非X的n次方X的n次根求余加减乘除双目运算单目运算按键输入数字主界面图3-1计算机总功能图3.2总体流程图根据对计算器的功能分析,设计得到计算器总流程,如图3-2所示:

开始开始计算器界面计算器界面输入数字输入数字是否符合条件是否符合条件否是单目运算双目运算输入数字输入数字是否符合条件是否符合条件否是在文本框中显示结果在文本框中显示结果清零清零图3-2计算器流程图主要功能设计流程4.1单目运算实现流程图根据对单目运算的分析,可得单目运算流程图,如图4-1所示:开始开始计算器界面计算器界面输入数字输入数字是否符合条件是否符合条件否是输出结果输出结果清零清零结束结束图4-1单目运算流程图4.2双目运算流程图根据对双目运算的分析,可得双目运算流程图,如图4-2所示:开始开始计算器界面计算器界面输入第一个数字输入第一个数字是否符合条件是否符合条件否输入第二个数字是输入第二个数字是否符合条件是否符合条件否是输出结果输出结果清零清零结束结束图4-2双目运算流程图代码实现5.1代码的实现该计算器是基于下创立的,会给出一部分程序代码;计算器所要编写的类就只有文件所给出的类。在类中,存在某一部分的函数代码,而我们所要增加的就是和界面相联系的按键的按键函数,即对那件数字上的显示和运算的执行。首先,画好基本的计算器图,如图5-1所示:图5-1运算器基本架构图5.2运行效果图开始主界面:图5-2计算器主界面运行时界面,以求4的阶乘为例子:图5-3运行时计算器界面(1)图5-3运行时计算器界面(2)图5-3运行时计算器界面(3)第六章系统测试1、();用例1::12:-12用例2::-12:12();用例::123:12();();加法用例::12:34、();();减法用例::54:15、();();乘法用例::54:206、除();();除法用例1::164:4用例2::160除数不能为零!7、();();用例::30:0.58、();();用例::60:0.59、();();用例1::45:110、();();以10为底用例::10:1用例2::-1:真数必须大于零!11、();();用例1::1:0用例2::-1:真数必须大于零!12、();();阶乘用例::4:2413、();();的y次方用例::52:2514、();();的平方用例::2:415、();();的立方用例::2:816、();();求余数用例::910:917、();();异或用例::10:118、();();的多少次方用例::1:2.71828219、();();或用例::10:120、();();且用例::10:021、();();1/x用例1::10:0.1用例2::0:分母不能为零!22、();();开2次根号用例1::100:10用例2::-100:不符合定义域!23、();();开y次根号用例1::83:2用例2::-83:-2致谢在本次课程设计中,我想如果没有老师耐心的指导,我是很难才会把这个程序写出来的;在这里我要忠心地感谢老师对我们的帮助,还有老师对我们的监督,如果没有老师,我想我们很多同学都不会那么有耐心的把程序写出来的。其次,我要感谢的是我的朋友和同学,因为没有他们细心的帮我讲解,我想我是不可能这么快的就把程序写出来的。最后所要感谢的就是学校,因为这几天来重庆的温度都是很高的,学校给了我们一个舒适的环境,好让我们可以好好的写程序。签名: 日期:2011年7月日

参考文献:[1]熊歆斌.程序设计培训教程.北京:清华大学出版社2002.7[2]李英.编程与项目开发.上海:华东理工大学出版社2008.1附录:源程序代码:""""""""3.14932384626433832795[]=;:{: (); {{() {=}; }} {{() : (*); }}: {{() }} ()};():(){ {{() }}}(*){ (); {{() }}}(,) {{() }}()(*/**/) :(,){ {{() =(""); }} a32 =()->();}(*){ (); {{() (,1,); }}}(,) {{() () () () (1,1) (2,2) (0,0) (3,3) (4,4) (5,5) (6,6) (7,7) (8,8) (9,9) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) }}()(){ (); "...". . ((&00)); (<0000); *=(); () { ; (); (()) { >(); >(,,); } } . 'sa (,); (,); : n=0; n1=0; n2=0; =0; ;a}(,){ ((&00)) { ; (); } { (,); }}a,.,.(){ (()) { (); (,()(),0); =(); =(); ; (); x=(()-+1)/2; y=(()-+1)/2; (x,y,); } { (); }}.(){ ();}1(){ "1"; ();}2(){ "2"; ();}0(){ "0"; ();}3(){ "3"; ();}4(){ "4"; (); }5(){ "5"; (); }6(){ "6"; (); }7(){ "7"; (); }8(){ "8"; (); }9(){ "9"; (); }(){ (n0) { "."; n=1; } (); }(){ =(); (0) (1,1); ();}(){ n2=(); n2=0-n2; ("%0.6g",n2); ();}()全部清除?{ n1=0; n2=0; (); ="0"; (); (0);}()屏幕清空?{ (); (); ="0"; (0);}(){ ("%.7g",); ();}(){ =0.0; n2=(); () { 1: =n1+n2;; 2:=n1-n2;; 3:=n1*n2;; 4: (n20) ("除数不能为零!"); =n1/n2;; 5:=(n1);; 6:=(n1);; 7:=(n1);; 8:=n1; 9:=n1; 10=n1; 11=(n1,n2);; 12:=n1;; 13:=n1;; 14:=()n1%()n2;; 15:=()n1^()n2; 16:=(n1); 17:=()n1()n2; 48:=()n1()n2; 19:=n1;; 20:=n1;; 21:=(n1,12); } ("%.7g",); (); (0); n1=();}()加法{ n=0; (0) (); { n1=(); (); } (0);把缓存区间清除 =1;}()减法{ n=0; (0) (); n1=(); (0); =2;}()乘法{ n=0; n1=(); (0); =3; }()除法{ n=0; n1=(); (0); =4; }(){ n=0; n1=(); n1=n1*180; (0); =5;}(){ n=0; n1=(); n1=n1*/180; (0); =6; }(){ n=0; n1=(); (n10(n1*/180)%900(n1*

温馨提示

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

评论

0/150

提交评论