数据结构课程设计——学生成绩管理系统报告书.doc

上传人:叶*** 文档编号:36213354 上传时间:2022-08-25 格式:DOC 页数:21 大小:1.26MB
返回 下载 相关 举报
数据结构课程设计——学生成绩管理系统报告书.doc_第1页
第1页 / 共21页
数据结构课程设计——学生成绩管理系统报告书.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《数据结构课程设计——学生成绩管理系统报告书.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计——学生成绩管理系统报告书.doc(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课程设计报告书 设计名称: 数据结构(C+版) 题 目: 学生成绩管理系统 学生姓名: XXX 专 业: 计算机科学与技术 班 别: 计科本XXX班 学 号: XXXXXX 指导老师: XXX 日 期: 2012 年 7 月 12 日一问题描述:设计目的: 1.掌握线性链表的建立。 2.掌握线性链表的基本操作。 3.掌握查找的基本算法。 设计内容:利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、退出,并能在屏幕上输出操作前后的结果。二基本要求1.写出系统需求分析,并建模。 2.编程实现,界面友好。 3.输出操作前后的结果。三工具/准备工作在此次课程设

2、计中,我们用到了Microsoft Visual C+ V6.0,所以在开始课程设计前我们首先要安装好这个软件。此外,在开始编程之前要做好相应的系统构思,以及想好实现相应的功能的算法。四分析与实现 1.系统功能分析本系统主要实现对学生成绩信息进行管理,需要实现以下几个方面的管理功能:(0)创建学生成绩信息:输入学生的信息。(1)查找学生成绩信息:按学号、姓名查找。(2)修改学生成绩信息:找到要修改的学号,修改相应信息。(3)追加学生成绩信息:找到要追加的学生成绩的学号,对相应科目的成绩进行追加。(4)显示学生成绩信息:显示全部学生的成绩信息(5)插入学生成绩信息:插入一个新的学生。(6)删除学

3、生成绩信息;按学号、姓名删除。目或者总分排序。2.系统模块结构图学生成绩管理系统输入学生成绩按学号查询成绩按姓名查询成绩修改学生成绩信息追加学生成绩显示全部学习信息插入学生成绩信息删除学生信息3.模块分析:3.1系统首页:功能介绍:输入相应功能序号即可进行相应的功能操作。 图1.系统首页相应的代码:#include#include#includeusing namespace std;#define MAX 100typedef struct studentint num;char name20;int english;int chinese;int math;int total;int le

4、ngth;struct student *next ;s,*LinkList;int main() coutttt 欢迎登录学生成绩管理系统!endl;coutttt+-+endl;coutttt|序号 |请选择相应的操作功能的序号: |endl; coutttt+-+-+endl;coutttt| 0 |请输入学生的相关信息与成绩: |endl; coutttt+-+-+endl;coutttt| 1 |按学生学号查询学生成绩: |endl; coutttt+-+-+endl;coutttt| 2 |按学生姓名查询学生成绩: |endl; coutttt+-+-+endl;coutttt|

5、3 |追加学生的成绩信息: |endl; coutttt+-+-+endl;coutttt| 4 |显示全部学生的信息: |endl; coutttt+-+-+endl;coutttt| 5 |插入学生信息: |endl; coutttt+-+-+endl; coutttt| 6 |修改学生信息: |endl; coutttt+-+-+endl; coutttt| 7 |删除学生信息: |endl; coutttt+-+-+next=NULL;char ch,ch2;while(flag)cout请输入你要进行的操作数:ch;while(ch7|ch0)cout输入有误,请重新输入ch;swi

6、tch(ch)case 0:input(l);cout学生的基本信息存储成功endl;break;case 1:check(l);break;case 2:check_name(l);break;case 3:add(l);break;case 4:output(l);break;case 5:insert_stu(l);break; case 6:xiugai(l);break; case 7:Delete_stu(l);break;cout你要继续操作还是退出(y/n)ch2;while(flag1)if(ch2=Y)|(ch2=y)flag=1;flag1=0;else if(ch2=N

7、)|(ch2=n)/flag=0;/flag1=0;else flag1=1;cout输入有误,请重新输入(y/n)(y:继续)(n:退出)!ch2;return 0;3.2输入学生信息功能介绍:输入0,选择进入输入学生信息功能中,输入想输入的学生信息个数,并输入相应的学生信息。 图2.输入信息相关代码:int InitLink(LinkList &L)/输入学生信息L=(LinkList)malloc(sizeof(struct student);L-next=NULL;return 0;int input(LinkList &L)int i, n;L-next=NULL;LinkList

8、p;LinkList q;cout请输入学生人数:n;L-length=n;cout请输入学生的基本信息:endl;for(i=0;ilength;i+)p = (LinkList)malloc(sizeof(student);coutp-num;coutendl;coutp-name;coutendl;coutp-english;coutendl;coutp-chinese;coutendl;coutp-math;couttotal=p-english+p-chinese+p-math;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutnum

9、name english chinese math totalendl;cout+-+next = NULL)L-next = p;p-next = NULL;q = p;elsep-next = NULL; q-next = p;q = p;/L=L-next;return 0;3.3显示学生全部信息功能简介:显示连表中的全部学生信息。 图3.显示全部信息相关代码:int output(LinkList &L)/显示全部信息LinkList p = L-next;if(L-next=NULL)cout链表中没有学生信息,请先输入学生信息!endl;elsecout+-+endl;cout学号

10、: 姓名: 英语: 语文: 数学: 总成绩:endl;while(p)coutnum name english chinese math totalnext;cout+-+next;if(p=NULL)cout链表中没有学生信息,请先输入学生信息!endl;else cout请输入你要查找的同学的学号:n;while(p&p-num!=n)p=p-next;if(!p)cout链表中没有学号为:n的同学信息!endl;else cout学号为:n的同学信息如下:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutnum name engl

11、ish chinese math totalendl; cout+-+next;if(p=NULL)cout链表中没有学生信息,请先输入学生信息!endl;else cout请输入你要查找的同学的姓名:name;while(p&strcmp(p-name,name) /strcmp(p-name,name)如果p-name=name,则比较的函数值为0p=p-next;if(!p)cout链表中没有姓名为:namename:的同学信息!endl;else cout姓名为:name=name:的同学信息如下:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩

12、:endl;coutnum name english chinese math totalendl;cout+-+next;if(p=NULL)cout链表中没有学生信息,请先输入学生信息!endl;else cout请输入你要追加的同学成绩的学号:n;while(p&p-num!=n)p=p-next;if(!p)cout链表中没有学号为:n的同学信息!endl;else cout请输入要追加的成绩:(相应的追加分数分别为英语i,语文j,数学k,若是不追加,请输入0.)endl;couti;coutendl;coutj;coutendl;coutk;coutenglish +=i; p-ch

13、inese +=j;p-math +=k;cout学号为:n的同学信息如下:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutnum name english chinese math totalendl;cout+-+next;if(p=NULL)cout链表中没有学生信息,请先输入学生信息!endl;else cout请输入你要修改的同学成绩的学号:n;while(p&p-num!=n)p=p-next;if(!p)cout链表中没有学号为:n的同学信息!endl;else cout+-+endl;cout学号: 姓名: 英语: 语

14、文: 数学: 总成绩:endl;coutnum name english chinese math totalendl;cout+-+endl;cout是否要修改学号为n的同学的信息?(y/n)x;if(x=Y)|(x=y)coutp-name;coutendl;coutp-english;coutendl;coutp-chinese;coutendl;coutp-math;couttotal=p-english+p-chinese+p-math;cout学号为n的同学修改后的信息为:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutn

15、um name english chinese math totalendl;cout+-+next=NULL)cout链表中没有学生信息,请先输入学生信息!endl;elsecout请输入你要在链表第i个位置中插入学生信息的i值:i;p=L;while(p&jnext;+j;if(!p|ji-1)cout输入i值小于1或者大于表长+1,请重新输入!endl;flag=1;else flag=0;s=(LinkList)malloc(sizeof(student);cout请输入学生的基本信息:endl;coutp-num;coutendl;coutp-name;coutendl;coutp-

16、english;coutendl;coutp-chinese;coutendl;coutp-math;couttotal=p-english+p-chinese+p-math;cout插入的学生信息为:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutnum name english chinese math totalendl;cout+-+next=p-next;p-next=s;return 0;3.7删除学生信息功能介绍:删除某个学生的信息。相关代码:int Delete_stu(LinkList &L)/删除学生信息int n

17、;char x;LinkList q=L,p=L-next;if(p=NULL)cout链表中没有学生信息,请先输入学生信息!endl;else cout请输入你要查找的同学的学号:n;while(p&p-num!=n)q=p;p=p-next;if(!p)cout链表中没有学号为:n的同学信息!endl;else cout学号为:n的同学信息如下:endl;cout+-+endl;cout学号: 姓名: 英语: 语文: 数学: 总成绩:endl;coutnum name english chinese math totalendl; cout+-+endl;cout是否要删除该同学信息?(y

18、/n)x;if(x=Y)|(x=y)p=p-next;q-next=p;cout该学生信息已删除!endl;return 0;五测试与结论1.系统测试结果如下:1.1系统首页:功能介绍:输入相应功能序号即可进行相应的功能操作。 图1.2系统首页1.2输入学生信息功能介绍:输入0,选择进入输入学生信息功能中,输入想输入的学生信息个数,并输入相应的学生信息。 图2.2输入学生信息 1.3显示学生全部信息功能简介:显示连表中的全部学生信息。 图3.2显示全部信息1.4追加学生信息 图4.2追加学生信息1.5修改学生信息功能介绍:修改相应学号学生信息。 图5.2修改学生信息1.6插入学生信息功能介绍:

19、在链表的第i个节点插入学生信息。相关代码: 图6.2插入学生信息1.7删除学生信息功能介绍:删除某个学生的信息。 图7.2删除学生信息2.结论本课程设计学生成绩管理系统从最后的测试结果来看,基本上实现了成绩管理系统的几大功能:成绩信息输入、成绩信息显示等。并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的技术维护人员补充和维护。本系统经过测试,证明其运行是稳定、可靠的。但在系统设计中也也遇到很多的问题,并且本系统的功能还需要不断的完善和改进,在以后空闲时间里逐一进行完善,使系统功能更加完善。 六课程设计总结此次数据结

20、构课程设计,从编辑程序到测试,从理论到实践,我学到了很多很多的的东西,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多问题,但经过老师的耐心指导和我自己的努力,问题都一一解决了!此外在设计的过程中还发现了自己的很多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,对数据结构有了深入的认识和理解,把以前所学过的知识都重新温故了一遍。20 / 21

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

当前位置:首页 > 教育专区 > 初中资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com