【数据结构实验】中国计算机设计大赛赛事统计

一、题目及要求

【问题描述】

  参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。

【基本要求】

1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;

2)能统计各学校的总分;

3)可以按照学校编号或名称,学校的总分、各项目的总分排序输出;

4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;

5)数据存入文件并能随时查询

【设计要求】

1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。

2)输出形式:有中文提示,各学校分数为整数

3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,可以完成相关功能的要求。

4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。

【测试数据】

  要求使用全部合法数据,整体非法数据,局部非法数据。进行程序测试,以保证程序的稳定。

【实现提示】

  假设3<赛事项目数量<=10,学校名称长度不超过20个字符。每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩。

二、问题分析和任务定义

【问题分析】
由于题目没有给相关数据,所以可使用随机数生成学校数量,项目数量以及每个学校参赛队伍数量,也可以手动输入,但名称需要手动输入,也需要注意相关限制条件。3<赛事项目数量<=10,学校名称长度不超过20个字符。以及每个学校的每个参赛队伍智能参加一个项目。又由题目限制条件可以知道参赛的学校一定大于等于10个。所以如果用随机数生成学校数目要加参数

【任务定义】

任务一:统计各个学校的总分。

任务二:可以根据学校编号或名称获取相关学校总分和项目分数以及获奖情况。

任务三:可以根据项目编号获取该项目得分在前三的学校名称。

任务四:将这次比赛的数据存入文件方便随时查询。

三、逻辑设计

【相关类的创建】

Project类

class Project {
        int projectNumber;//项目编号
        String projectName;//项目名称

        public int getProjectNumber() {
            return projectNumber;
        }

        public void setProjectNumber(int projectNumber) {
            this.projectNumber = projectNumber;
        }

        public String getProjectName() {
            return projectName;
        }

        public void setProjectName(String projectName) {
            this.projectName = projectName;
        }
    }

Team类

class Project {
        int projectNumber;//项目编号
        String projectName;//项目名称

        public int getProjectNumber() {
            return projectNumber;
        }

        public void setProjectNumber(int projectNumber) {
            this.projectNumber = projectNumber;
        }

        public String getProjectName() {
            return projectName;
        }

        public void setProjectName(String projectName) {
            this.projectName = projectName;
        }
    }

School类

class Project {
        int projectNumber;//项目编号
        String projectName;//项目名称

        public int getProjectNumber() {
            return projectNumber;
        }

        public void setProjectNumber(int projectNumber) {
            this.projectNumber = projectNumber;
        }

        public String getProjectName() {
            return projectName;
        }

        public void setProjectName(String projectName) {
            this.projectName = projectName;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值