C课程设计基于MFC的计算器

上传人:枫** 文档编号:471364775 上传时间:2023-05-08 格式:DOC 页数:23 大小:537.50KB
返回 下载 相关 举报
C课程设计基于MFC的计算器_第1页
第1页 / 共23页
C课程设计基于MFC的计算器_第2页
第2页 / 共23页
C课程设计基于MFC的计算器_第3页
第3页 / 共23页
C课程设计基于MFC的计算器_第4页
第4页 / 共23页
C课程设计基于MFC的计算器_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C课程设计基于MFC的计算器》由会员分享,可在线阅读,更多相关《C课程设计基于MFC的计算器(23页珍藏版)》请在金锄头文库上搜索。

1、-摘要随着科学的开展,计算机的应用越来越广泛,而运用计算机中的计算机语言C+写程序必然是很多的。C+是目前国内外最广泛使用的程序设计语言之一,它具有处理功能丰富、表达能力强、使用方便灵活、执行程序效率较高等优点。而且C+得是一种构造化程序设计语言;另外,C+的函数式构造也为实现程序化模块设计提供了强有力的保正。所以很多人都把C+作为编程的首选语言。本次课程设计就是利用C+的丰富表达能力来编写一个简单计算器,模拟windows系统的计算器进展简单的计算;在编写这次课程设计中要求利用MFC来画出计算器的图形界面,并且保证可以进展根本的计算。关键字:简单计算器 MFC 图形界面 根本计算课程设计任务

2、书设计题目:基于MFC的简单计算器设计学生*岑余霞课程名称面向对象程序设计课程设计专业班级计科1003班地 点I305/I306起止时间6月27日7月8日设计内容及要求以Windows *p自带的计算器为蓝本,设计一个简单的10进制数计算器能进展实数整数和浮点数的算术运算加、减、乘、除和求余数,要求在编辑框中输入运算量的输入。参考界面如以下图所示,其中红色框标注的局部要求必须完成,蓝色框标注的局部属选作内容。该计算器主要进展实数的单目和双目运算,使用过程如下:1单目运算,例如对于要求先输入数字,然后点击ln按钮,完成取对数运算并把结果显示在编辑框中。2双目运算,例如进展加法要求先输入第1加数,

3、然后点击+按钮,再输入第2加数最后点击=按钮,完成计算并在编辑框中显示运算结果。注意:输入的浮点数中小数点不得超过1个;对、和取偶数次方根等4类功能要做数据的合法性检查。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写标准,撰写课程设计报告。设计参数1系统分析、设计正确。2结果以图型界面方式显示。3界面简洁、美观。4报告格式标准。进度要求6月28日第一大节、第二大节 讲解Windows程序设计的根底知识6月28日第三大节、第四大节 学生练习简单窗口程序设计6月30日第一大节、第二大节 讲解消息处理函数、消息传递机制6月30日第三大节、第四大节 学生练习控件的使用6月31日第一大节、第

4、二大节 学生实现第一阶段的阶段性成果6月31日第三大节、第四大节 学生实现第一阶段的阶段性成果7月3日第一大节、第二大节 讲解基于对话框的MFC程序的实现7月3日第三大节、第四大节 学生学习控件的使用7月4日第一大节、第二大节 讲解MFC封装的消息响应机制7月4日第三大节、第四大节 学生练习消息响应函数的编写7月5日第一大节、第二大节 学生选择第3阶段的题目7月5日第三大节、第四大节 规划设计方案7月6日第一大节、第二大节 编程实现7月6日第三大节、第四大节 编程实现7月7日第一大节、第二大节 编程实现7月7日第三大节、第四大节 程序测试7月8日第一大节、第二大节 编写课程设计报告7月8日第三

5、大节、第四大节 课程设计辩论参考资料1美帕罗塞斯.MFC Windows程序设计.清华大学.20072 美Stanley.C+ Primer.人民邮电.2006其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.假设填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:伍建全/陈应祖/焦小军/易军/*亚军 2011年6月22日目录摘要2课程设计任务书3第一章 设计内容及要求71.1 计算器的根本要求71.2 需实现的主要功能7第二章 需求分析82.1 界面及布局设计82.2 简单计算的实现方

6、法8第三章 系统设计93.1 总体功能图93.2 总体流程图9第四章 主要功能设计流程114.1 单目运算实现流程图114.2 双目运算流程图11第五章 代码实现135.1 代码的实现135.2 运行效果图13第六章 系统测试16致谢19参考文献:20附录:源程序代码21第一章 设计内容及要求1.1 计算器的根本要求(1) 设计MFC的计算器界面。计算器界面是基于MFC的Dialog bases所画出来的;其中界面主要由Edit properties和Push Button properties所组成。 通过鼠标点击按键即可在Edit中显示数据和进展运算。(2) 程序要求用户在运行过程中注意不

7、同函数的定义域,假设用户按键的数值不符合要求,计算器则会弹出一个提醒你的对话框。(3) 用户在计算一次以后,可以通过按键AC清空以前记录,进展下一次的计算。1.2 需实现的主要功能(1) 需完成简单的双目运算,例如加、减、乘、除等。(2) 需完成三角函数sin,cos,tan的计算,并且要注意其定义域。(3) 需完成简单的与,或,非,异或等简单运算。(4) 需完成对数函数以10为底的log,ln,及简单的阶乘运算。(5) 需完成任意数的开根和次方,并且要注意数值要求。(6) 还需完成对数值的去除及去除全部内容的功能。第二章 需求分析2.1 界面及布局设计系统布局主要采用了MFC的Dialog的

8、对话框,运用了文本框、按键、面板等组件;文本框的主要功能:联系按键,通过增加文本框的成员,将按键运用按键函数和文本框联系起来,即按键即可在文本框中显示相应的数值。按键功能:按键用于调用按键函数,通过按键函数来实现计算器相应的计算步骤。2.2 简单计算的实现方法该计算器的简单计算实现是基于switch case 语句,定义一个全局变量flag,通过对flag赋值调用相应的case语句实现相应的计算。(1) 加减乘除运算的实现。该计算主要以简单的运算符+、-、*、/来实现。(2) 较复杂的运算的实现,例如简单的对数运算,与或非运算,开根和次方。该计算主要运用math.h中的函数调用实现的,不同的运

9、算调用相应的函数来实现,但是需注意的就是相应的函数就只能进展运算而已,而数值是否符合该函数就需要自己进展判断,如假设数值不符合函数定义域,计算则会出现错误。(3) 阶乘运算的实现。该运算的实现运用了递归,较为方便的写出递归函数即可进展阶乘运算。第三章 系统设计3.1 总体功能图根据需求所作的分析,需要完成简单的双目运算,例如加、减、乘、除等;需完成三角函数sin,cos,tan的计算,并且要注意其定义域; 需完成简单的与,或,非,异或等简单运算;需完成对数函数以10为底的log,ln,及简单的阶乘运算;需完成任意数的开根和次方,并且要注意数值要求;还需完成对数值的去除及去除全部内容的功能。三角

10、函数平方立方开二次根阶乘运算求1/*E的n次方log/ln运算按键输入数字与或非*的n次方*的n次根求余加减乘除双目运算单目运算按键输入数字主界面根据系统需求,计算器的总功能图如图3-1所示:图3-1 计算机总功能图3.2 总体流程图根据对计算器的功能分析,设计得到计算器总流程,如图3-2所示:开场计算器界面输入数字是否符合条件 否switch 是 单目运算 双目运算输入数字是否符合条件 否 是在文本框中显示结果清零图3-2 计算器流程图 第四章 主要功能设计流程4.1 单目运算实现流程图根据对单目运算的分析,可得单目运算流程图,如图4-1所示:开场计算器界面输入数字是否符合条件 否 是swi

11、tch输出结果清零完毕图4-1 单目运算流程图4.2 双目运算流程图根据对双目运算的分析,可得双目运算流程图,如图4-2所示:开场计算器界面输入第一个数字是否符合条件 否输入第二个数字 是是否符合条件 否switch 是输出结果清零完毕图4-2 双目运算流程图第五章 代码实现5.1 代码的实现该计算器是基于MFC下创立的,MFC会给出一局部程序代码;计算器所要编写的类就只有文件所给出的CAboutDlg类。在CAboutDlg类中,存在*一局部的函数代码,而我们所要增加的就是和界面相联系的按键的按键函数,即对那件数字上的显示和运算的执行。首先,画好根本的计算器图,如图5-1所示:图5-1 运算

12、器根本架构图5.2 运行效果图开场主界面:图5-2 计算器主界面运行时界面,以求4的阶乘为例子:图5-3 运行时计算器界面1图5-3 运行时计算器界面2图5-3 运行时计算器界面3第六章 系统测试1、void CCalcutorDlg:OnBUTTONFushu( );用例1: input:12 output:-12用例2: input:-12 output:122、 void CCalcutorDlg:OnBackSpace( );用例:input:123 output:123、 void CCalcutorDlg:OnBUTTONjia( ); void CCalcutorDlg:OnBU

13、TTONdengyu( );/加法用例: input:1 2 output:34、 void CCalcutorDlg:OnBUTTONjin( ); void CCalcutorDlg:OnBUTTONdengyu();/减法用例: input:5 4 output:15、 void CCalcutorDlg:OnBUTTONcheng( ); void CCalcutorDlg:OnBUTTONdengyu();/乘法用例: input:5 4 output:206、 void CCalcutorDlg:OnBUTTON除( ); void CCalcutorDlg:OnBUTTONdengyu();/除法用例1: input:16 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号