1226.C++程序设计

上传人:沈*** 文档编号:80058562 上传时间:2022-04-24 格式:DOC 页数:22 大小:309.50KB
收藏 版权申诉 举报 下载
1226.C++程序设计_第1页
第1页 / 共22页
1226.C++程序设计_第2页
第2页 / 共22页
1226.C++程序设计_第3页
第3页 / 共22页
资源描述:

《1226.C++程序设计》由会员分享,可在线阅读,更多相关《1226.C++程序设计(22页珍藏版)》请在装配图网上搜索。

1、22学 号: 2006 2007学年 第1学期XXX科技大学WINDOWS程序设计课程设计报告题 目: C+程序设计 专 业: 计算机科学与技术 班 级: 计科应 05 姓 名: 指导教师: 成 绩: 电子信息工程学院2007年3月15日摘要该论文分别对软件的需求进行分析,对软件的概要设计和软件的详细设计进行阐述,以及对软件的组装及测试的详细叙述,并附加了软件的使用说明书(操作手册)。程序设计一般由两部分组成:算法和数据结构,合理选择和实现一个数据结构与处理这些数据结构具有同样的重要性。以将每个功能分别编译实现,再通过函数包含,调用等方法实现各项功能间的连接为设计思想,并采用将学生当作一个整体

2、,整体类型为结构体,结构体中的域表示学生的属性的这种定义结构作为数据结构。软件将各个模块的功能分为列菜单、表明结构体、录入、排序、查询、插入及读取等来组成整个程序,实现对学生成绩的系统管理。该程序界面友好,易于操作,使操作者和使用者应用更加方便。关键字:数据结构,设计思想,界面,软件需求,概要设计,详细设计,组装及测试等目录第1章 软件设计内容111软件达到的目的112 软件功能说明11.2.1 功能分析说明图11.2.2 各项功能说明113软件功能的验收标准2第2章 软件设计环境与原理32.1 设计环境与模块的划分32.1.1 软件设计环境32.1.2 软件模块的划分32.2 软件设计主要原

3、理42.2.1 采用的主要数据结构类型42.2.2 各个模块之间的调用关系和数据储存格式说明42.2.3 主要流程图4第3章 软件的设计过程93.1 各软件模块之间的调用方式93.2 软件中实现各项功能的函数与程序代码93.3 数据保存方式以及格式11第4章 设计结果与分析1241软件使用结果12总结17致谢18参考文献19第1章 软件设计内容11软件达到的目的该软件主要是实现对学生成绩进行系统化的管理,首先可以对学生基本信息进行输入和存取,其次可以读取显示学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号查询此学号的学生的相关信息,并按照总成绩算出的平均分的高低进行排序。由此

4、来系统化管理学生成绩,并达到简易操作的目的。12 软件功能说明1.2.1 功能分析说明图该软件功能分析说明图如1-2-1所示: 学生成绩管理系统退出系统按平均成绩排序学生信息查找数据追加数据删除数据的读取学生基本信息录入与保存 图:1-2-11.2.2 各项功能说明(1)学生基本信息的录入和保存:这部分的功能主要包括信息的录入和保存和总分、平均分的计算,首先按程序提示输入所要输入的学生人数,接着是分别输入有关学生的相关信息包括学号、姓名、性别以及学生各科成绩的分数等。在录入数据的同时,系统将对信息的合法性进行检验(学号范围为10011020、姓名在7个字节之内、性别只能输入m(男male)或f

5、(女fmale)、各科成绩均限定在0100之间),若用户录入了不合法的数据系统将会作出提示,并且要求重新输入。如果合法性成立则录入完毕后系统将显示全部学生相关信息,信息中已包含对学生成绩总分的计算和其平均分的计算结果。最后输出学生的信息表,与是否保存提示,选择存盘后,系统则自动将学生信息存入(list.dat)电脑。(2)读取学生信息: 此功能是将原录入并保存的的学生信息读出,并在屏幕上显示出来。(3)删除学生信息: 进入该项功能界面后,用户可以通过学生的姓名对谋个学生信息进行删除。(4)追加学生信息:进入插入界面,系统将提示输入新学生的相关信息,程序则会将新的信息插入原学生信息清单中,并将新

6、的学生信息列表输出,以方便用户的确认。(5)按学号查找学生信息: 此项功能可以根据拥护输入的学生学号查出该学生的所有信息。(6)按照平均分输出学生信息清单。 选择次项功能后,系统将自动在屏幕上显示出所有学生按照平均成绩的高低排序后的清单。(7)退出系统,结束任务。13软件功能的验收标准一、有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。二、有严密正确的数据验证功能和数据处理功能,能够求和、求平均成绩,对总成绩进行排序,对数据进行保存和读取,能按学号查找学生信息,以及插入和删除学生信息。三、系统要有一定的可靠性。第2章 软件设计环境与原理2.1 设计环境与模块的划

7、分2.1.1 软件设计环境 Microsoft Visual C+ 6.02.1.2 软件模块的划分该软件主要组成模块和各个模块之间的调用关系如图2-1:学生成绩管理系统 主菜单 主函数(包含以下所有函数) 退出系统按平均成绩排序学生信息查找数据追加数据删除数据的读取学生基本信息录入与保存 图 2-1其中学生基本信息的录入和保存里已经包含了总分和平均分的计算、按学号排序输出的处理。2.2 软件设计主要原理2.2.1 采用的主要数据结构类型 该程序采用的是结构体类型来处理学生的所有基本信息,如下所述。包含的库函数有:# include # include# include # include #

8、 include 包含的函数有:Main() /*主函数*/Menu() /*菜单函数*/Input() /*输入与保存函数*/Bubble() /*排序输出函数*/Query() /*查找信息函数*/Insert() /*追加信息函数*/Delete() /*删除信息体函数*/Read() /*文件读取体函数*/ 包含的类: Class student()2.2.2 各个模块之间的调用关系和数据储存格式说明各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都会回到菜单。该程序的数据以二进制储存。2.2.3 主要流程图一、主函数8765432

9、1 开始 图 2-29二、数据的输入和保存 222输出struct i 输入n、struct i 输出是否保存提示信息三、学生信息的读取 四、数据的删除4 i n输出“Can not open file”Stu_list为空 3输出是否删除提示1确认1输出stuiNo Yes10 输入“stu i ” 101确认n=n-1, stu i =stu i +1 In-1YesYes No 图2-4 图 2-5五、根据平均成绩排序 六、退出系统87将输入的学生信息按照平均成绩的高低排序输出是否退出提示 No输出新的学生成绩单 Yes推出程序Getch(); 图 2-71七、学生信息的追加 八、根据学

10、号查询学生信息56输出是否追加提示输入要学生学号输出该学号学生的信息确定1No YesGetch();输入要追加的学生信息1进行追加数据处理 图 2-9输出追加后的新学生信息Getchar();1图 2-8第3章 软件的设计过程3.1 各软件模块之间的调用方式程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。3.2 软件中实现各项功能的函数与程序代码一、一个包含学生基本信息的类 class student() public:char *name;int id;char sex; float math,

11、eng, comp, totll, aver;.二、输入函数 Void input() . for(j=1; j=n; j+) cout 输入学生信息 jendl; obj.setup(); /用一个佛人for循环将学生信息录入。 三、信息的保存与读取保存:void save() int i;ofstream fout(list.txt);if(!fout)coutCannot open output file!n,;for(i=1; i=s; i+) foutobi.id obi.name obi.sex obi.math obi.eng p obi.totll obi.averendl;

12、fout.close();读取: void read()ifstream fin(list_1);if(!fin)couta;coutaendl;fin.close(); 四、菜单函数void menu()coutnn;cout- 学生成绩系统 -endlendl;couttt1.录入与保存学生信息.n;couttt2.读取学生信息.n;couttt3.删除学生信息.n;couttt4.追加学生信息.n;couttt5.查询学生信息.n;couttt6.显示成绩名次.n;couttt7.退出系统.nnn;couttt请选择功能项: ;五、添加学生信息函数void add() int i,j=1

13、, d=s+1; cout输入要添加学生的信息:endl;obd.setup();coutendl-学生信息表 -endl;coutendl 学号 姓名 性别 数学 英语 计算机 总分 平均分endl;for(i=1; i=s+j; i+)obi.show(); ofstream fout(list.txt);if(!fout)coutCannot open output file!n,;for(i=1; i=s+j; i+) foutobi.id obi.name obi.sex obi.math obi.eng p obi.totll obi.averendl; fout.close();

14、 getchar(); j+;3.3 数据保存方式以及格式本学生信息系统将能自动把输入的学生信息保存为 .dat 文件,全名为 list.dat ,在文件的读取时,系统将能自动把该二进制文件读出,并在屏幕上显示出学生信息。第4章 设计结果与分析41软件使用结果在此,我们将把软件使用过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:1、 将软件进行初始化。2、 进入程序菜单,界面如图4-1-1:菜单界面图4-1-1界面显示的是“一个学生信息系统”,总的操作流程有七个方面:(1) 输入和存取学生信息;(2) 读取学生信息;(3) 用人名从列表中删除学生信息;(4) 在列表中插入学生

15、信息;(5) 用学号查询学生信息;(6) 按总成绩的高低对学生成绩进行排序;(7) 退出菜单界面。 最后是提示用户做出要软件进行怎样功能运行的选择。3、 输入和存取学生信息:选择菜单界面的第一个选择,按Enter键进入此选择界面,出现的界面如图4-1-2:学生人数图4-1-2 在这个界面给出了学生人数的选择,也就是说,用户想要输入多少个学生的信息,已经输入学生人数后,按Enter键进入输入界面,输入界面如图4-1-3:输入学生信息图4-1-3用户可在此界面上输入想要输入的学生的相关信息(学号、姓名、性别、数学分数、英语以及计算机科目的分数等),但是由于程序合法的要求,所以姓名的范围规定在4到7

16、个字节之间,学号的范围是1001-1021,性别分别是男(m)或女(f),而分数的范围是0-100。如果输入的数据不在这些范围内,则界面上将显示错的数据输入的句子,用户将重新输入正确的数据,才可以进行下面的程序。如果全部学生的信息输入完毕,按Enter键则进入了存取界面,如图4-1-4:存取学生信息图4-1-4界面上出现全部学生的清单,最后有提醒用户是否要将如上信息存储的提示信息,如果要存储则输入Y,不存储则输入N,最后按Enter完成当前和结束当前操作。并回到菜单界面。4、 读取学生信息:选择菜单界面第二个选择,按Enter键进入此界面,则出现的界面如图4-1-5:读取学生信息图4-1-5

17、界面上的图即显示的是读取学生信息界面的内容,它表示的是全部学生信息的列表,可按Enter键退出此界面。5、 用人名从列表中删除学生信息:从菜单界面中选择第三个选择,按Enter键入,则出现图4-1-6的界面;删除学生信息图4-1-6 界面上出现的是删除学生信息的界面,在界面的开头有提示用户输入所要删除的那个学生的学号,按Enter键则界面上显示出所要删除的学生的相关信息,重复按Enter键界面则显示出删除此学生信息后的新的学生信息列表。6、 在列表中插入学生信息:从菜单界面中选择4输入,按Enter键进界面则出现图4-1-7的界面:插入学生信息图4-1-7首先界面上有提示用户输入所要插入的学生

18、的学号,然后反复按Enter键输入所要插入学生的相关信息。最后将出现新的学生信息列表。7、 用学号查询学生信息:从界面选5输入后按Enter进入此程序,则出现界面图4-1-9:用学号查询学生信息图3-3-9 按照提示信息输入所要查询的学生的学号,按Enter键则会出现此学号的学生相关的信息,即可查阅他/她的成绩和其他信息。8、 按总成绩高低对学生成绩进行排序:从菜单界面选6输入按Enter键进入程序则出现界面如图4-1-10:排序后的新学生信息列表图4-1-10于是界面上显示的是按学生的总成绩从高到低排序的列表,通过此操作程序,用户可以管理学生成绩更轻松。9、 退出菜单界面:在菜单界面上输入7

19、按Enter键进入界面如图4-1-11:退出界面图4-1-11 则屏幕上显示出提示退出的信息,并且提示用户按任意键可退出菜单界面,即完成 当前操作,结束运行。总结通过两星期的C+语言程序设计实习,我们从中受益匪浅,并且对C+语言程序设计这一门课程有了更深一步的认识。在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。虽然我们对这些C+语言知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。发现问题,提出问题,解决问题,使我们从不足之处出发,寻找新的学习方向。在实习中,我们设计了一组对学生成绩进行管理的系统,它基本满足了界面友好,易于操作的要求,因此更利于

20、用户操作方便,运行简易,从而达到对学生成绩更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对学生信息的输入和存取、读取,对学生相关信息的删除和插入,并且可以按学号查询学生的相关信息,以及按平均分的高低对学生成绩进行排序等的功能。但软件中仍然存在一些不足,例如在输入有关学生的数据时名字没有限定,插入新的学生信息的程序还有待完善,删除后没有把新的学生成绩列表进行保存,菜单不美观等。我们一边实习一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,

21、并希望这样的机会能被更好更多地提供。 2007-3-1致谢经过这两周的实习,我们获得了许多在课堂上听课而不能获得的知识,首先我们要感谢学校给我们安排的这次的C+语言程序设计实习,然后我要感谢老师们对我们热心的指导和帮助,是他们教会了我们怎样解决问题的方法,这样我们的软件设计才会更加顺利地进行,并且充分掌握了设计程序的方法。我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。总之,是有了他们的帮助,我们才能顺利地完成软件设计,在这里我们要向他们说一句:谢谢,非常感谢!你们辛苦了!在设计该软件期间,给予帮助和支持的老师有:伍建全、裴仰军等。给予帮助和支持的同学有:刘涛、贺俊、罗辑、郭

22、达等参考文献1、C+面向对象程序设计教程(第二版)作者:陈维新 林小茶出版者:清华大学=出版社序号:ISBN 7-302-08900-0版次:2004年8月第2版 2006年6月第7次印刷参考内容:第3章 类和对象第7章 C+的I/O流类库2、C程序设计(第三版)作者:谭浩强出版者:清华大学出版社序号:ISBN 7-302-10853-6版次:2005年7月第3版 2006年2月第7次印刷参考内容:第5章 选择结构程序设计(91-111),第7章 数组(131-152), 第8章 函数(155-202),第9章 预处理命令(211-214)等3、数据结构课程设计作者:苏仕华 等出版者:机械工业出版社序号:ISBN 7-111-16181-5版次:2005年5月第1版第1次印刷 参考内容:第4章 文本文件的检索(47-57),第7章 图结构的应用(101-123)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!