1.问题定义
本次课程设计要求协助中国大学生计算机设计大赛江苏省组委会,设计一款赛事管理系统,实现赛务相关的数据管理及信息服务。
2.问题分析
1)赛事数据要求存入文件(txt或excel)并能读入查询;
2)赛地目的地查询,需提供目的地(建筑物)名称、代号、简介、两地之间路径长度等信息;
3)输入数据形式和范围:赛事相关数据可从键盘输入,或自文件导入。
4)界面要求:交互设计要合理,每个功能可以设计菜单,用户根据提示,完成相关功能的要求。
1)分析任务,进行模块划分。
2)定义数据结构,建议按照抽象数据类型的定义、表示和实现来描述,用类C语言(伪代码)来描述数据的存储表示和相应操作的具体实现过程。
3)设计合适的算法来实现其功能,并绘制函数调用关系图。
3.概要设计
(1)数据结构
创建类然后使用类的成员来定义这些数据:参赛队编号,参赛作品名称,参赛学校,赛事类别。
public class Team
{ private String teamId; //参赛队编号
private String projectName; //参赛作品名称
private String school; //参赛学校
private String category; //赛事类别
private String participants; //参赛者
private String teacher; //指导老师
public Team(String teamId,StringprojectName, String school, String category, String participants, String teacher)
(2)参赛队伍
//添加一支参赛队伍 Team team1 = new Team("001", "作品1", "学校1", "类别1", "参赛者1", "指导老师1");
//获取所有参赛队伍信息 List<Team> teamList = teamManager.getAllTeams(); //修改一支参赛队伍信息 teamManager.modifyTeam("001", "作品2", "学校2", "类别2", "参赛者2", "指导老师2"); teamManager.deleteTeam("001"); //获取所有参赛队伍信息 teamList = teamManager.getAllTeams(); for(Team team : teamList) { System.out.println(team.getTeamId() + " " + team.getProjectName() + " " + team.getSchool() + " " + team.getCategory() + " " + team.getParticipants() + " " + team.getTeacher()); }}
3.函数内容
import java.util.ArrayList;import java.util.List;public class TeamManager { private List<Team> teamList = new ArrayList<>(); //增加参赛队伍信息
public void addTeam(Team team) { teamList.add(team); } //删除指定参赛队伍信息
public void deleteTeam(String teamId)
{ for(Team team : teamList)
{ if(team.getTeamId().equals(teamId))
{ teamList.remove(team); break;
}
}
} //修改指定参赛队伍信息