数据结构——学生数据结构成绩管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《数据结构》实验报告院系光电与信息工程学院专业电子信息工程姓名学号电话2011级2班2013年7月6日一.实验题目数据结构——期末综合实验11.5——学生数据结构成绩管理系统二.实验要求(1)学生信息及成绩的录入(2)学生成绩的查询(3)学生成绩的分段统计和排序输出三.实验内容[基本要求](1)学生信息及成绩的录入要求包括的学生信息有:学号、姓名、班级及数据结构等成绩(具体内容可自行假设,至少录入10名以上学生)所录入的学生按学号散列存储(散列函数为学号%5取整,如1002%5=2),采用拉链法解决冲突。(2)学生成绩的查询要求根据提供的学号完成学生成绩的查询(必须采用散列查找)。(3)学生成绩的分段统计和排序输出统计出各分数段学生人数(60分以下,60~70,71~80,...)采用堆排序,将学生成绩从高到低排序输出2四.调试与结果测试****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************请输入你要执行的操作:131、建立新的数据系统。请选择:1请输入第1名学生的学号,学号为0表示结束输入:01请输入第1名学生的姓名:林一请输入第1名学生的性别:男请输入第1名学生的民族:汉请输入第1名学生的数据结构成绩:77请输入第1名学生的英语成绩:87请输入第1名学生的高数成绩:80请输入第2名学生的学号,没有此学生则输入0表示结束:02请输入第2名学生的姓名:林二请输入第2名学生的性别:女请输入第2名学生的民族:汉请输入第2名学生的数据结构成绩:80请输入第2名学生的英语成绩:85请输入第2名学生的高数成绩:90请输入第3名学生的学号,没有此学生则输入0表示结束:03请输入第3名学生的姓名:林三请输入第3名学生的性别:女请输入第3名学生的民族:汉请输入第3名学生的数据结构成绩:78请输入第3名学生的英语成绩:83请输入第3名学生的高数成绩:954请输入第4名学生的学号,没有此学生则输入0表示结束:0此系统目前共计学生3名:*********************学生成绩统计*********************学号姓名数构成绩英语成绩高数成绩总分1林一7787802442林二8085902553林三788395256**********************************************************学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************5请输入你要执行的操作:6数构英语高数0~60的学生人数是:00060~70的学生人数是:00070~80的学生人数是:20080~90的学生人数是:13190~100的学生人数是:002****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************6请输入你要执行的操作:2****学生成绩统计排序****1.按学生学号排序2.按学生总分排序3.按学生数构成绩排序4.按学生英语成绩排序5.按学生高数成绩排序6.显示当前学生成绩0.返回上一级菜单*****************请输入你要执行的操作:2排序后的成绩表为:此系统目前共计学生3名:*********************学生成绩统计*********************学号姓名数构成绩英语成绩高数成绩总分3林三7883952562林二8085902551林一778780244**********************************************************学生成绩统计排序****1.按学生学号排序2.按学生总分排序3.按学生数构成绩排序4.按学生英语成绩排序75.按学生高数成绩排序6.显示当前学生成绩0.返回上一级菜单*****************请输入你要执行的操作:3排序后的成绩表为:此系统目前共计学生3名:****学生成绩统计排序****1.按学生学号排序2.按学生总分排序3.按学生数构成绩排序4.按学生英语成绩排序5.按学生高数成绩排序86.显示当前学生成绩0.返回上一级菜单*****************请输入你要执行的操作:4排序后的成绩表为:此系统目前共计学生3名:****学生成绩统计排序****1.按学生学号排序2.按学生总分排序3.按学生数构成绩排序4.按学生英语成绩排序5.按学生高数成绩排序6.显示当前学生成绩0.返回上一级菜单9*****************请输入你要执行的操作:5排序后的成绩表为:此系统目前共计学生3名:****学生成绩统计排序****1.按学生学号排序2.按学生总分排序3.按学生数构成绩排序4.按学生英语成绩排序5.按学生高数成绩排序6.显示当前学生成绩0.返回上一级菜单*****************10请输入你要执行的操作:0****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************请输入你要执行的操作:3请输入您要查询学生的方式:1、按学号查询;2、按姓名查询。请选择:1请输入你要查询的学生的学号,输入0退出学号查询:03学号为3学生的数据为:学号姓名性别民族数构成绩英语成绩高数成绩总分5林三女汉78839525611请输入你还要查询的学生的学号,输入0退出学号查询:0请输入您要查询学生的方式:1、按学号查询;2、按姓名查询。请选择:2请输入你要查询的学生的姓名,输入0退出姓名查询:林二姓名为异灵学生的数据为:学号姓名性别民族数构成绩英语成绩高数成绩总分1林二女汉808590255请输入你还要查询的学生的姓名,输入0退出姓名查询:0请输入您要查询学生的方式:121、按学号查询;2、按姓名查询。请选择:3你选择不查询!****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************请输入你要执行的操作:4请输入要新加入的学生的学号,学号为0表示结束输入:04请输入新加入学生的姓名:林四请输入新加入学生的性别:女请输入新加入学生的民族:汉13请输入新加入学生的数构成绩:80请输入新加入学生的英语成绩:80请输入新加入学生的高数成绩:85请输入还要加入的学生的学号,输入0表示结束:0加入后的成绩表为:此系统目前共计学生4名:****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************14请输入你要执行的操作:5此系统目前共计学生4名:****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************请输入你要执行的操作:615****学生成绩管理系统****1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统*****************请输入你要执行的操作:0请按任意键继续...Pressanykeytocontinue16附:实验源代码#includestdio.h#includestdlib.h#includemalloc.h#includewinsock2.htypedefstructstudent{longnum;//学号charname[20];//姓名charsex[20];//性别charnation[20];//民族intscore[3];//成绩intsum;//总分structstudent*next;}Student;intn;Student*enter(void);Student*sort_1(Student*head,int);voidprint(Student*head);Student*sort_all(Student*head);voidfind(Student*head);Student*add_new(Student*head);voidstats(Student*head);Student*enter()//录入学生数据{intflag;Student*head,*p1,*p2;n=0;head=(Student*)malloc(sizeof(Student));p2=head;printf(\n请输入第%d名学生的学号,学号为0表示结束输入:,n+1);scanf(%d,&flag);while(getchar()!='\n');for(;flag;){n++;p1=(Student*)malloc(sizeof(Student));p1-num=flag;printf(请输入第%d名学生的姓名:,n);scanf(%s,p1-name);printf(请输入第%d名学生的性别:,n);scanf(%s,p1-sex);17printf(请输入第%d名学生的民族:,n);scanf(%s,p1-nation);printf(请输入第%d名学生的数据结构成绩:,n);scanf(%d,&p1-score[0]);printf(请输入第%d名学生的英语成绩:,n);scanf(%d,&p1-score[1]);printf(请输入第%d名学生的高数成绩:,n);scanf(%d,&p1-score[2]);p1-sum=p1-score[0]+p1-score[1]+p1-score[2];p2-next=p1;p2=p1;printf(\n请输入第%d名学生的学号,没有此学生则输入0表示结束:,n+1);scanf(%d,&flag);}p2-next=NULL;printf(\n\n);returnhead;}Student*sort_all(Student*head)//学生成绩统计排序{intchoose;for(;;){printf(\n\t\t****学生成绩统计排序****\n);printf(\t\t\t1.按学生学号排序\n);printf(\t\t\t2.按学生总分排序\n);printf(\t\t\t3.按学生数据结构成绩排序\n);printf(\t\t\t4.按学生英语成绩排序\n);printf(\t\t\t5.按学生高数成绩排序\n);printf(\t\t\t6.显示当前学生成绩\n);printf(\t\t\t0.返回上一级菜单\n);printf(\t\t*****************\n\n);printf(请输入你要执行的操作:);scanf(%d,&choose);while(getchar()!='\n');switch(choose){case1:case2:case3:case4:case5:head=sort_1(head,choose);break;case6:print(head);break;case0:returnhead;default:printf(\n\n您的输入有误!请重新输入:\n\n);break;18}}}Student*sort_1(Student*head,intchoose){Student*p1,*p2=head-next,*pm,*px;Studentmid;if(!p2)r

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功