数据结构课程设计--学生成绩管理系统

上传人:大米 文档编号:512686790 上传时间:2022-10-02 格式:DOC 页数:16 大小:271KB
返回 下载 相关 举报
数据结构课程设计--学生成绩管理系统_第1页
第1页 / 共16页
数据结构课程设计--学生成绩管理系统_第2页
第2页 / 共16页
数据结构课程设计--学生成绩管理系统_第3页
第3页 / 共16页
数据结构课程设计--学生成绩管理系统_第4页
第4页 / 共16页
数据结构课程设计--学生成绩管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据结构课程设计--学生成绩管理系统》由会员分享,可在线阅读,更多相关《数据结构课程设计--学生成绩管理系统(16页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上长治学院课程设计报告课程名称:数据结构课程设计设计题目: 学生成绩管理系统 系 别: 计算机系 专 业: 计算机科学与技术 组 别: 第二十五题 学生姓名: 学 号: 起止日期: 2010年6月25日 2010年7月10日 指导教师: 马强 目 录第一章 需求分析11.1课程设计任务及要求11.2课程设计思想及开发环境1第二章 概要设计22.1 总体方案22.2 功能模块设计22.3 主要数据结构2第三章 详细设计3第四章 调试与操作说明4第五章 课程设计总结与体会6第六章 致谢6第七章 参考文献6第八章 附录78.1详细程序设计78.2指导教师评语14专心-专注-专

2、业第一章 需求分析1.1课程设计任务及要求题目:学生成绩管理系统要求:(1)界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2)实现对学生成绩信息进行排序与查找。可按学生学号、姓名等信息进行查询。每个学生信息包含:学号,姓名,班级,语文,数学,英语,物理,化学等项。(3)学生信息的存储结构可以选择顺序结构,也可以选择链式结构。1.2课程设计思想及开发环境设计思想:本课题的实质是完成对学生成绩信息的建立、查找、排序等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。可将此系统分为如下模块,输入初始的学生信息

3、、查询模块、排序模块、退出系统。编写语言: C语言开发工具: Visual C+ Visual Studio 6.0VC+是微软公司开发的一个IDE(集成开发环境)。学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识, VC基于C,C+语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 最大缺点是开发效率不高。 第二章 概要设计2.1 总体方案信息输入信息查询信息排序退出系统系统菜单选择功能号进入下步工作 总体结构图2-1其中每步操作完成后按任意键返

4、回系统菜单2.2 功能模块设计选择输入人数输入总和小于100依次输入学生信息,完成后返回主菜单。输入总和大于100超出范围返回主菜单选择查询方式选择学号找到相关信息立即显示,未找到相关信息则返回主菜单。选择姓名选择排序方式按姓名排序排序并显示所有信息按学号排序2.3 主要数据结构学生数据是用链表存放的,因为学生的人数是不定的,若用一个数组存放数据时,有固定长度限制,若太大则可能导致内存浪费,太小就不够用。而链表可动态分配内存,根据需要而开辟内存单元,这是本程序的链表数据结构,相关学生需要储存的信息也如下:struct students int Num; char Name10; int Cla

5、ss; int Chinesescore; int Mathscore; int Englishscore; int Physicsscore; int Chemistryscore;第三章 详细设计本程序分为输入模块、查询模块、排序模块。具体设计方案见附录。在学生信息录入时,先限定本次录入人数,若超过100,则返回,重新录入。int InforInput(STUDENT stu,int m) int number; printf(n限定本次输入学生人数: ); scanf(%d,&number); if(numberMAX_NUM) printf(输入人数过多,应不超过%d人!n,MAX_N

6、UM); return (0); input(stu,number,m) ; return (number+m);在查询模块中,采用for循环,查找相应的学号或者姓名所对应的信息。如,下面的程序是按学号查询,若所查找信息不存在则提示错误。int FoundNum(STUDENT stu,int findNum,int Max) int i; for(i=0;iMax;i+) if(stui.Num=findNum) break; if(iMax) return i; else return -1;在排序模块中,分为按学号排序和按姓名排序,采用冒泡排序法。如以下程序是在功能菜单中选择2,按姓名排

7、序:else if(i=2) for(b=0;aMax;a+) for(;b0) student.Num=stub+1.Num; strcpy(student.Name,stub+1.Name); student.Class=stub+1.Class; student.Chinesescore=stub+1. Chinesescore; student.Mathscore=stub+1. Mathscore; student.Englishscore=stub+1. Englishscore; student.Physicsscore=stub+1. Physicsscore; student

8、.Chemistryscore=stub+1. Chemistryscore; stub+1.Num=stub.Num; strcpy(stub+1.Name,stub.Name); stub+1.Class=stub.Class; stub+1.Chinesescore=stub. Chinesescore; stub+1.Mathscore=stub. Mathscore; stub+1.Englishscore=stub. Englishscore; stub+1.Physicsscore=stub. Physicsscore; stub+1.Chemistryscore=stub. C

9、hemistryscore; stub.Num=student.Num; strcpy(stub.Name,student.Name); stub.Class=student.Class; stub.Chinesescore=student.Chinesescore; stub.Mathscore=student.Mathscore; stub.Englishscore=student.Englishscore; stub.Physicsscore=student.Physicsscore; stub.Chemistryscore=student.Chemistryscore; printf(

10、n学号t姓名t班级t语文t数学t英语t物理t化学n); for(i=0;iMax;i+)printf(%dt%st%dt%dt%dt%dt%dt%dn,stui.Num,stui.Name, stui.Class,stui.Chinesescore,stui.Mathscore,stui.Englishscore, stui.Physicsscore, stui.Chemistryscore); printf(n); 第四章 调试与操作说明系统菜单图:录入学生信息后显示所有信息:按学号查询:按姓名查询:按学号排序:按姓名排序:第五章 课程设计总结与体会由于c语言学的不扎实,编程时遇到了很多困难

11、,查阅了很多的资料才完成,开始调试的时候经常出现很多的错误,经常容易烦躁,但是经过一段的时间的锻炼使得我更有信息和勇气去面对困难,并一步一步的解决困难。当整个程序开始运行的时候,是非常有成就感的。整个程序还有很多不足的地方,如成绩、姓名、班级若输入不合理没有更仔细的提示等等。在程序设计方面,逐渐感觉到模块化设计的重要性,应该分析出功能块,然后对其细节中的共性和特性作分析。这次的设计,让我大大地感觉到,对于程序设计中,对语言再熟悉也比不过在设计中算法和结构分析的真知灼见。当然,成功的程序设计是要建立在熟悉语言的基础之上的。平时语言的基本功要扎实。而每一次程序设计的经营能大大地增加对语言的熟悉和感

12、知。程序设计的技能来自多方面,每一次的亲自实践、思考揣摩、刨根问底就会让自己更加清楚所欠缺的是什么。所以,现在觉得在设计实践中作为参考的书册阅读和研究远远比过单纯的阅读,因为它是在最紧迫的时间上填补自己最紧迫的不足。 第六章 致谢感谢所有帮助我的人,是你们不计回报的付出,除了帮我完成了这份课程设计,也让我感受到了身边的温暖。感谢马老师,您平常的教导,到现在我才明白是多么的有用,谢谢您的督促。感谢同学郑山,熬夜帮我改程序,给了我新的思路和前进的方向,让我明白友谊一直都在。感谢陌生的朋友,在知道我需要帮助后,第一时间提供了具有很大价值的参考资料,也明白自己还需要更多的努力。第七章 参考文献谭浩强 C程序设计(第三版),北京:清华大学出版社严蔚敏、吴伟明 数据结构(C语言版),北京:清华大学出版社严蔚敏、吴伟民、米宁 数据结构题集(C语言版),北京:清华大学出版社第八章 附录8.1 详细程序设计:#include #include #include #include #define MAX_NUM 100 /最大储存信息为100人/ struct students /开辟学生数据链表/ int Num; char Name10; int Class; int Chinesescore; int Mathscore; int Engl

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

当前位置:首页 > 办公文档 > 教学/培训

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