目录
项目1:计算机大赛赛事统计
一.问题分析和任务定义
(1)每个项目至少10支队伍参加,每个学校最多6支队伍参赛;
(2)能统计各学校总分;
(3)能按照学校编号或名称查询,按照学校总分、各项目总分降序输出;
(4)能按学校编号查询学校获奖情况,能按项目编号取前三名的学校;
(5)数据存入文件,随时查询;
假设:任一项目队伍得分不会相同;
所有队伍由主办方统一编号;
二.逻辑设计
数据结构定义
学校类:学校编号,学校名称,队伍数,队伍列表,总分;
队伍类:队伍编号,所属学校编号,参与项目编号,成绩;
项目类:项目编号,队伍数,队伍列表;
抽象数据类型
ADT 赛事统计
Operation
查看学校总分
输入:学校编号
功能:提供某一学校总分
输出:对应学校总分
总分排序输出
输入:无
功能:提供所有学校总分降序排名
输出:总分排名
项目得分排序输出
输入:项目编号
功能:提供某一项目的得分排名
输出:对应项目的得分排名
获奖情况查询
输入:学校编号与项目编号
功能:提供某一学校在某一项目中的获奖情况
输出:对应学校在对应项目中是否获奖
查看项目前三名
输入:项目编号
功能:提供某一项目得分前三名的学校
输出:对应项目得分前三名的学校信息
endADT
三.物理设计
存储结构
学校类型数组,队伍类型数组,项目类型数组;
(1)学校总分
遍历队伍数组;
若属于某一学校,则将队伍成绩加入总分;
输出总分;
(2)学校获奖情况查询
输入学校编号和项目编号;
检查学校和项目是否存在;
输出是否获奖;
(3)项目前三
对项目得分进行降序排序;
取出前三;
结构框架