《c++计算器课程设计.docx》由会员分享,可在线阅读,更多相关《c++计算器课程设计.docx(29页珍藏版)》请在优知文库上搜索。
1、成绩C+程序设计设计性实验高级计算器设计与开发目录C+程序设计设计性实验任务书2实验项目名称:2课程名称:2面向专业:2计划学时:2实验类型:2实验目的:2实验要求:2系统设计要求:2开发环境要求:3技术文档要求:3实验内容:3实验方案(任务提示):3实验仪器设备:3实验报告版式要求3实验报告装订顺序与规范3C+程序设计设计性实验报告5实验项目名称5专业班级:5实验起止日期5实验目的:5实验要求:5系统设计要求:5开发环境要求:5技术文档要求:5实验内容:5实验具体方案:5需求分析6系统设计说明6系统技术文档6系统运行结果和记录7软件运行界面:7系统使用说明书12实验讨论12C+程序设计设计性
2、实验收获与总结12参考文献12附录:源程序代码13动态链接库代码:13计算器代码:13C+程序设计设计性实验任务书窘验项目名称:高级计算器设计与开发课理名移:C+程序设计画回专业:信息与计算科学专业;数学与应用数学专业计理斐时:16学时=实验课内8学时+实验课外8学时实验类裂:口综合J设计实验目的:学会用C+语言和数据结构二叉树后序遍历算法实现表达式的解析与计算;学会使用动态链接库技术进行编程;学会编辑、编译、运行MFe应用程序的基本过程.实验要求:包括系统设计要求,开发环境要求,技术文档要求三部分。系统设计要求:最低要求:能完成双精度型数值的加、减、乘、除计算;编程中使用了动态连接库技术.较
3、高要求:能完成双精度型数值的加、减、乘、除计算;编程中使用了动态连接库技术;能实现表达式的输入,解析与计算开发环境要求:软件环境:WindOWS98windowsXPWindOWS2000,VisualC+硬件环境:计算机(Pen4CPU,256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照软件工程技术文档编写要求进行。要求流程图绘制规范,模块功能描述清晰,数据字典齐全。实验内容:1C+语言的顺序结构,分支结构,循环结构,函数,结构体,指针。2数据结构中的二叉树数据组织、存贮、后序遍历及其操作实验方案(任务提示):按照系统设计要求,用ViSUalC+设计和开发一个MFC应用程序一高
4、级计算器,提交由需求分析;系统设计说明(包括主菜单、子菜单、模块功能简介、数据字典、系统结构图);系统技术文档(包括系统各模块主要流程图,软件总体测试方案与测试记录、局部测试方案与测试记录、软件调试和修改记录、测试结论、运行情况记录),系统使用说明书,源程序代码为附录构成的实验报告。实验仪器设备:每个学生一台计算机。实验报告版式要求A4纸张打印;上下页边距各2.5cm,左右页边距各3.0cm,页眉L5cm页脚1.75cm;页码位于页脚居中打印;奇数页页眉“C+程序设计设计性实验”,偶数页页眉“高级计算器设计与开发”,页眉宋体小5号,一级标题:黑体三号粗体字;二级标题:黑体4号;三级标题黑体小4
5、号,正文,宋体5号。实验报告装订顺序与规范封面C+程序设计设计性实验任务书C+程序设计设计性实验报告左边缘装订实验项目名称: 专业班级:信息 实验起止日期:C+程序设计设计性实验报告高级计算器设计与开发;姓名:学号起于2008年11月1日止于2008年12月10日实验目的:学会用C+语言和数据结构二叉树后序遍历算法实现表达式的解析与计算;学会使用动态链接库技术进行编程;学会编辑、编译、运行MFC应用程序的基本过程.实验要求:包括系统设计要求,开发环境要求,技术文档要求三部分。系统设计要求:1 .最低要求:能完成双精度型数值的加、减、乘、除计算;编程中使用了动态连接库技术.2 .较高要求:能完成
6、双精度型数值的加、减、乘、除计算;编程中使用了动态连接库技术;能实现表达式的输入,解析与计算开发环境要求:软件环境:WindOWS98windowsXPWindOWS2000,VisualC+硬件环境:计算机(Pen4CPU,256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照软件工程技术文档编写要求进行。要求流程图绘制规范,模块功能描述清晰,数据字典齐全。实验内容:1 C+语言的顺序结构,分支结构,循环结构,函数,结构体,指针。2数据结构中的二叉树数据组织、存贮、后序遍历及其操作实验具体方案:按照系统设计要求,用ViSUaIC+设计和开发一个MFC应用程序一高级计算器,提交由需求
7、分析;系统设计说明(包括主菜单、子菜单、模块功能简介、数据字典、系统结构图);系统技术文档(包括系统各模块主要流程图,软件总体测试方案与测试记录、局部测试方案与测试记录、软件调试和修改记录、测试结论、运行情况记录),系统使用说明书,源程序代码为附录构成的实验报告。需求分析:我们在学习生活中,常会遇到一些繁杂的数值运算,徒手算将是一件非常头痛的事,这时候我们就必须用到一些高级计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。人们对计算的要求不断提高,普通的功能简单的仅能进行四则运算的计算工具己经不能满足需要,需要一种能进行多种计算。现在己经有一些功能较为强大、涵盖面较广的计算软件,
8、而且各种平台的小工具仍不断出现。这些大大方便了我们的生活。这个程序除了可以进行加、减、乘、除等基本的运算外,还可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。并且操作简单、界面清晰、灵活、实用、方便系统设计说明(包括主菜单、子菜单、模块功能简介、数据字典、系统结构图);1这个计算器是基于VC的MFC应用程序而开发的,这之中设计到了对话框的操作,菜单的制作,子菜单的设计,各种控件的设计,像单选按钮,组框,按钮,编辑框。2 .在实现这些功能的过程中使用了动态链接库技术,用于导出一些函数,简化了程序的实现代码;在对表达式的计算过程中应用了堆栈的知识对表达式遍历,将其转化为后
9、序表达式,并计算结果。3 .在进行菜单的设计中,设计了能进行运算结果、清零等功能的操作菜单。系统技术文档(包括系统各模块主要流程图,软件总体测试方案与测试记Y,-出沐禾里国I”工t济E程I冬I系统运行结果和记录(软件运行界面图、软件运行数据输入界面图、软件运行结果界面图、运行记录)软件运行界面:单步运算asanfc清零I1.Zl算式运苴asanBfc清零I_aJ_三单步运算I算式运篁asan_fc12.OOOOOO清零EI算式运篁单步运苴算式运算+3/2清零I3II0/IgI-I三l+I篁式运篁Iasan三fc2.500000清零单步运算当输入的被除数为零时算式运算当输入被除数为零时单步运算算
10、式运算系统使用说明书:1这个计算器是基于VC的MFC应用程序而开发的,这之中设计到了对话框的操作,菜单的制作,子菜单的设计,各种控件的设计,像单选按钮,组框,按钮,编辑框。2 .在实现这些功能的过程中使用了动态链接库技术,用于导出一些函数,简化了程序的实现代码;在对表达式的计算过程中应用了堆栈的知识对表达式遍历,将其转化为后序表达式,并计算结果。3 .在进行菜单的设计中,设计了能进行运算结果、清零等功能的操作菜单。实验讨论做实验是不懂的虚心请教同学这是我对本次试验最大的感受,在同学们的帮助下解决了实验过程中的很多问题。C+程序设计设计性实验收获与总结这次试验耗时一个月,这里面充满了心酸与快乐。
11、刚开始做的时候有点摸不着头脑,感觉无从下手,而且心里也有点恐惧,因为自己从来没编写超过100行的程序。这次一下要编一个几百行的程序,不害怕才怪。不过再琢磨了几天后,终于有了思路,而且编的还很顺手,这时我就感觉特别有成就感。再经过了几天的学习和实践后,我初步认识了MFC控件的基本用法和动态链接库的一些基本知识。参考文献谭浩强著.C程序设计(第二版).北京:清华大学出版社,1999谭浩强主编.C程序设计题解与上机指导(第二版).北京:清华大学出版社,1999BjarneStroustrup著.TheC+ProgramLanguage(3ldEdition).Addision-wesleyPubCo
12、,1997H.M.Deitel,RJ.Deitel著.薛万鹏等译.C+程序设计教程.北京:机械工业出版社,2000SBLippmanJLajoie著.潘爱民译.C+Primer(3MEdition)中文版.北京:中国电力出版社,2000StephenR.Savis著.C+ForDummies4thedition,IDGBooksWorldwide,Inc.,2002HarveyM.Deilel,PaulJamesDeitel著.邱仲潘等译.C+大学教程(第二版).北京:电子工业出版社,2002JamesRCohoonJackW.Davidson著.刘瑞挺等译.C+程序设计(第三版).北京:电子
13、工业出版社,2002附录:源程序代码动态链接库代码:/#include/#include/#include/usingnamespacestd;_declspec(dl!export)doubleadd(doublea,doubleb)(returna+b;)_declspec(dl!export)doublesub(doublea,doubleb)(returna-b;)_declspec(dl!export)doublecheng(doublea,doubleb)(returna*b;)_declspec(dl!export)doublechu(doublea,doubleb)(retur
14、na/b;)计算器代码:/asanmfcDlg.cpp:implementationfile/信息062师玮#includestdafx.httincludez,asanmfc.h#include“asanmfcDlg.h/ttinclude#ifdef_DEBUGttdefinenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE=_FILE_;#endifcharoper,ch20;intd=0,op=0,dian=0,q=0;m=0输入单步运算,m=l输入算式运算CStringsi,stri;intm=0,k=O,n=0,a=0;CStringtt,aa,ss;CString