目录
3、管理(Management)类:声明管理队伍、学校和项目之间关系的变量。
一、问题描述
参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m。比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。
二、基本要求
1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称查询,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;
5)数据存入文件并能随时查询。
三、设计要求
1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称;
2)输出形式:有中文提示,各学校分数为整数;
3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,完成相关功能的要求;
4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。
四、重难点分析
1.存储方式
数据存储要求存入文件,并且可以随时查询,即要求每次输入数据后要保存在文件中,并且当项目下次运行时,能够进行读取显示已保存数据。
2.存储结构
由于该项目要求写一个统计程序,产生各种成绩单和得分报表,所以选取线性表的存储结构来存储,其优点是,逻辑简单,存取灵活,方便查询,便于实现和操作。
3.测试数据
该项目要求输入合法数据,其中非法数据包括整体非法数据和局部非法数据。所以,在测试数据时,应该考虑到整体和局部,从而避免非法数据对程序的破坏。
五、数据类型定义声明
1、学校(School)类:声明学校相关变量。
成员变量:
学校名称(String)、学校序号(int)、参赛的学校数量(int)、一个学校的参赛队伍数量(int)。
2、参赛队伍(Team)类:声明参赛队伍相关变量。
成员变量:
参赛队伍的数量(int)、队伍报名参加项目的编号(int)和名称(String)、队伍所在学校的编号(int)和名称(String)、队伍参赛项目所获得的分数(int)。
3、管理(Management)类:声明管理队伍、学校和项目之间关系的变量。
成员变量(函数):
系统功能选择函数function()、按学校编号查询函数idSearch()、按学校名称查询函数nameSearch()、按学校总分排序函数scoreSort()、按各项目总分排序函数projectSort()、按学校编号查询学校某个项目获奖情况函数isPrize()、按项目编号查询取得前三名的学校函数projectIdNo3()。
六、编程语言
JAVA
七、开发工具/平台
IDEA