内容发布更新时间 : 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={
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