数据结构课程设计报告--运动会分数统计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构课程设计报告--运动会分数统计.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告--运动会分数统计.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.实验报告(数据结构)学院:信息科学与技术学院班级:姓名: 日期:.课题一运动会分数统计任务:参加运动会有 n 个学校,学校编号为 1n。比赛分成 m 个男子项目,和 w 个女子项目。项目编号为男子 1m,女子 m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m=20,n=20)功能要求:1) 可以输入各个项目的前三名或前五名的成绩;2) 能统计各学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得
2、前三或前五名的学校。需求分析:本演示程序中,用户可以对运动会的的成绩一不同的方式进行输入输出等操作。首先由用户输入运动会的成绩及相关的信息,然后程序会自动将输入的信息进行统计处理。用于测试程序的数据如下所示:校名东华大学上海交大复旦大学同济大学华东师范大学编号12345学校数据项目数据:项目编号项目名称项目编号项目名称1男子 100 米6女子跳高2男子 200 米7女子跳远3男子 400 米8女子铅球4男子跳高9女子 100 米5男子跳远10女子 400 米概要设计:void Scanf();输入学校运动会成绩void Grade();查询成绩void Show();输出void Rank()
3、;查询名次void Show_sumscore();学校总分排序输出void Show_boyscore();男团总分排序输出void Show_girlscore();女团总分排序输出void Show_num(); void Menu();程序图:主函数学校编号排序输出总菜单开始输出学校、项目Init()Scanf()Menu()结束Scanf 输入函数开始输入项目前三名或前五名统 计 学校总分统计男生团体总分统计女生团体总分开始Init 初始化函数i=0,jYNinInitList_Sq()结束Schooli.sumscore=0Schooli.boyscore=0SchoolNi.gi
4、rlscore=0i=i+1Schooli.num=i+1j=1j10Schooli.eventj=0j=j+1Menu 总菜单按按按按项男女学目编生生校号查团团编询前体体号三名总总查或前分分询五名排排项的学序输出序输出目情况校开始choose1234567按学校编号排序输出按学校总分排序输出退出详细设计:#include #include#define LIST_INIT_SIZE 100/线性表存储空间的初始分配量#define LISTINCREMENT 10/线性表存储空间的分配增量const int n=5;/参加运动会的学校个数const int m=5;/男子项目个数const
5、int w=5;/女子项目个数void Init();/初始化学校总分、男女团体总分void Scanf();/输入学校运动会成绩void Grade();/查询成绩void Show();/输出void Rank();/查询名次void Show_sumscore();/学校总分排序输出void Show_boyscore();/男团总分排序输出void Show_girlscore();/女团总分排序输出void Show_num();/学校编号排序输出void Menu(); /总菜单typedef structchar *event; int num;int sumscore; int
6、 boyscore; int girlscore; int length;int listsize;/当前分配的存储容量SqList;/ 初始化自定大小的线性表Lvoid InitList_Sq(SqList &L,int LIST_SIZE)L.event=(char *)malloc(LIST_SIZE* sizeof(char); if(!L.event) exit (0);L.length=0; L.listsize=LIST_SIZE;/初始化默认大小的线性表L void InitList_Sq(SqList &L)L.event=(char *)malloc(LIST_INIT_S
7、IZE* sizeof(char); if(!L.event)exit (0);/存储分配失败L.length=0;/ 空 表 长 度 为 0 L.listsize=LIST_INIT_SIZE;/初始存储容量void ShowList_Sq(SqList &L,int Lenth)int i;for (i=0;iLenth;i+)printf(项目%d成绩:%dn,i+1,L.eventi);SqList Schooln;void Init()int i,j; for(i=0;in;i+)InitList_Sq(Schooli,m+w); Schooli.sumscore=0; School
8、i.boyscore=0; Schooli.girlscore=0; Schooli.num=i+1; for(j=0;jm+w;j+)Schooli.eventj=0;void Scanf()int i,j,x;int a3=5,3,2;int b5=7,5,3,2,1;int c10,d10;printf(nn输入各个项目的前三名或前五名的成绩nnn); for(i=0;im+w;i+)if(im)for(j=1;jn|xn|x=0);Schoolx-1.eventi=bj-1;elsefor(j=1;jn|xn|x=0);Schoolx-1.eventi=aj-1;printf(n);/
9、统计各校总分for(i=0;in;i+)for(j=0;jm+w;j+)Schooli.sumscore+=Schooli.eventj;/统计男子总分for (i=0;in;i+)for(j=0;jm;j+)Schooli.boyscore+=Schooli.eventj;/统计女子总分for(i=0;in;i+)for(j=m;jn|kn|km+w|tm+w|t=0); int i=0;while(Schooli+.num!=k);printf(第%d 个学校项目%d积分为:%dn,k,t,School-i.eventt-1);void Show()for(int i=0;im+w|tm+
10、w|t=0;i-)for(j=0;ji;j+)if(Schoolj.eventt-1Schooli.eventt-1)SqList temp=Schooli;Schooli=Schoolj; Schoolj=temp;/冒泡排序if(t=m)printf(项目%d前五名:n,t); for(i=0;im&t=m+w)printf(项目%d前三名:n,t); for(i=0;i=0;i-)for(j=0;ji;j+)if(Schoolj.sumscore=0;i-) for(j=0;ji;j+)if(Schoolj.boyscore=0;i-) for(j=0;ji;j+)if(Schoolj.
11、girlscore=0;i-) for(j=0;jSchooli.num)SqList temp=Schooli; Schooli=Schoolj; Schoolj=temp;printf(按学校编号排列:nn); Show();void Menu() /菜单函数int choose; while(1)printf(运动会统计系统nn);printf(*n); printf(1、按学校编号排序输出n);printf(2、按学校总分排序输出n);printf(3、按男团总分排序输出n);printf(4、按女团总分排序输出n);printf(5、按学校编号查询学校某个项目的情况n); print
12、f(6、按项目编号查询取得前三名或前五名的学校n); printf(7、退出n);printf(*n); printf(nn-选择编号n);scanf(%d,&choose); if(choose=1)Show_num(); if(choose=2)Show_sumscore(); if(choose=3)Show_boyscore(); if(choose=4)Show_girlscore(); if(choose=5)Grade(); if(choose=6)Rank(); if(choose=7)break;int main()int i=0; for(i=0;i80;i+)printf
13、(*);printf(n编号运动会项目n);printf(1男子 100 米n);printf(2男子 200 米n);printf(3男子 400 米n);printf(4男子跳高n);printf(5男子跳远n);printf(6女子跳高n);printf(7女子跳远n);printf(8女子铅球n);printf(9女子 100 米n);.printf(nn);10女子400米for(i=0;i80;i+)printf(*);printf(n);printf(编号参与运动会的学校n);printf(1东华大学n);printf(2上海交大n);printf(3复旦大学n);printf(
14、4同济大学n);printf(5华东师范大学nn);for(i=0;i80;i+)printf(*);printf(n);Init();Scanf();Menu(); return 0;调试分析: 1,在编译过程中使用了结构体来存储航班和客户的相关信息,注意到使用结构体可以定义自己需要的类型,同时还可以对其成员进行各种操作,有效地解决了数据的建立和修改; 2,在编程时建立了文件,将自己输入的文件和系统内部存入文档, 有效地实现了大容量数据的操作; 3,运用菜单功能,是程序和实际生活中的情况更加接近,有利于程序的广泛利用;4,在编程中学习到了编程的很多好的习惯,养成了添加注释的习惯。5,注意编程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 运动会 分数 统计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内