数据结构项目一

一、需求分析

【问题描述】
参加计算机设计大赛的n个学校编号为1-n,赛事分成m个项目,项目的编号为1-m比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。
【基本要求】
1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称查询,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得 前三名的学校;
5)数据存入文件并能随时查询
【设计要求】
1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。
2)输出形式:有中文提示,各学校分数为整数
3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,完成相关功能的要求。
4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。


二、逻辑设计

可能需要用到的java数据结构、类,以及需要定义的方法:

Map类型数据:
	//存放学校编号和名称
    school
    //存放项目编号和项目名称
    events
    //存放每个学校(名称)在每个项目上的得分
    scoreOfEverySchool
    //存放每个参赛队在每个项目上的得分
    scoreOfEveryTeam
List类型数据:
    //存放每个项目的参赛队
    teamInEveryEvent:length > 10
    //存放每个学校的参赛队
    teamInEverySchool:length <= 6
    
需要定义的模板类:
	Game
		函数:
			 //递归调用该方法让所有队伍都完成比赛
			 playTheGame(schoolNumber,eventNumber){
   
			 	//返回各种得分映射
			 	return scoreOfEverySchool && scoreOfEveryTeam;
 			 }
 			 //对菜单栏进行定义
 			 Menu
 			 //调用Menu方法
 			 Main	
    TotalScoreOfSchools
        函数:
             //按照学校编号查询学校总分
             statisticsByNumber(schoolNumber)
             //按照学校名称查询学校总分
             statisticsByScname(schoolName)
             //按照学校编号查询各项目总分
             statisticsByScscore(schoolNumber)
             //按照学校名称查询各项目总分
	  		 statisticsByEvscore(schoolName)
	  		 //排序方法&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值