【问题描述】
参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。
【基本要求】
- 每个比赛项目至少有10支参赛队;
- 每个学校最多有6支队伍参赛;
- 能统计各学校的总分;
- 可以按照学校编号或名称,学校的总分、各项目的总分排序输出;
- 可以按学校编号查询学校某个项目的获奖情况;
- 可以按项目编号查询取得前三名的学校;
- 数据存入文件并能随时查询
【设计要求】
- 输入数据形式和范围:可以输入学校的名称,赛事项目的名称。
- 输出形式:有中文提示,各学校分数为整数
- 界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,可以完成相关功能的要求。
- 存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。
【测试数据】
要求使用全部合法数据,整体非法数据,局部非法数据。进行程序测试,以保证程序的稳定。
【实现提示】
假设3<赛事项目数量<=10,学校名称长度不超过20个字符。每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩。
【分析】
因为需要数据存入文件支持随时查询,所以在一开始录入比赛结果信息是就应将其写入一个excel文件中,便于以后的查看。
对比赛结果的计算,输出等操作,都可以在录入数据,excel文件写好后,再对其进行读取,获取数据,进行操作。
【算法流程图】
【伪代码描述】
- 首先创建工作簿,即一个.xls文件,寻找该文件的路径。找到该文件即对文件进行操作,若未找到则在该路径下新创建一个工作簿。
- 初始化工作簿表头。
- 对比赛结果进行录入。
- 读取比赛结果,根据各项要求输出数据。