运动会分数统计系统 数据结构课程设计 下载本文

内容发布更新时间 : 2024/12/28 10:54:59星期一 下面是文章的全部内容请认真阅读。

石家庄经济学院

华信学院

课程设计报告

学 院: 专 业: 班 级: 学 号: 姓 名:

运动会分数统计系统的设计与实现

一.问题描述

大学作为一个提供学生全面发展的高等教育机构,不仅要培养学生的学习能力,而

且更要注重学生的德智体美全面发展。在大学中有很多丰富多彩的比赛和活动,例如运动会,演讲比赛,歌唱比赛,书法比赛等,在比赛和竞争中,我们的这些素质和能力更容易得到培养提升。但是比赛最后的分数统计和查询往往是举办者头疼的事情,分数的统计和查询需要快速准确,因此我们设计了这个运动会分数统计系统,以方便分数的统计查询。

参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项

目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。

二.需求分析

系统功能描述:

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分;

(3)可以按学校编号或名称、学校总分、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

三.概要设计

3.1链表结构的ADT的定义

ADT List{

数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R1={|ai-1,ai∈D,i=2,…,n} 基本操作:

InitList(&L)

操作结果:构造一个空的线性表L。

GetElem(L,i,&e)

初始条件:线性表L已存在,1≦i≦ListLength(L) 操作结果:用e返回L中第i个数据元素的值。

LocateElem(L,e,compare()) 初始条件:线性表L已存在,compare()是数据元素判定函数。 操作结果:返回L中第1个与e满足关系compare()的数据元

素的位序。若这样的数据元素不存在,则返回值为0。

PriorElem(L,cur_e,&pre_e)

初始条件:线性表L已存在。

操作结果:若cur_e是L的数据元素,且不是第一个,则用

pre_e返回它的前驱,否则操作失败,pre_e无定义。

NextElem(L,cur_e,&next_e)

初始条件:线性表L已存在。

操作结果:若cur_e是L的数据元素,且不是最后一个,则用

next_e返回它的后继,否则操作失败,next_e无定义。

ListInsert(&L,I,e)

初始条件:线性表L已存在,1≦i≦ListLength(L)+1

操作结果:在L中第i个位置之前插入新的元素e,L是表长

度加1

ListTraverse(L,visit())

初始条件:线性表L已存在。

操作结果:依次对L的每个数据元素调用函数visit()。一旦

visit()失败,则操作失败。

}ADT List