juster的数据结构课程实验

数据结构课程实验一预习:中国计算机设计大赛赛事统计

目录

一、实验要求

【问题描述】

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

【基本要求】

1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;
2)能统计各学校的总分;
3)可以按照学校编号或名称,学校的总分、各项目的总分排序输出;
4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;
5)数据存入文件并能随时查询

【设计要求】

1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。
2)输出形式:有中文提示,各学校分数为整数
3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,可以完成相关功能的要求。
4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。

【测试数据】

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

【实现提示】

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

二、分析问题及设计思路

1.分析

  1. 因为需要数据存入文件支持随时查询,所以在一开始录入比赛结果信息是就应将其写入一个excel文件中,便于以后的查看。
  2. 对比赛结果的计算,输出等操作,都可以在录入数据,excel文件写好后,再对其进行读取,获取数据,进行操作。

2.数据分析:

共m项赛事项目,每个比赛项目至少有10支参赛队,每个学校最多有6支队伍参赛;根据约束条件:每个学校的每个参赛队伍只能参加一个赛事项目,(默认:每个学校每参加一个赛事项目只能派出一个参赛队伍),所以至少需要10m个参赛队伍,至少10m/6个学校。

3数据结构设计:

1.学校类:学校名称、编号,参赛队、每个参赛队参加的赛事项目以及成绩、总分,输入、输出、排序
2.赛事类:项目名称、编号,参赛学校及其队伍、取得的成绩,输入、输出、排序

4.功能设计:

输入功能(管理员权限):输入赛事项目编号、名称,然后依次输入参赛学校编号、名称及成绩
存储功能:赛事相关数据存储在文件中
排序功能:
1.学校按总分排序的排名情况
2.学校在各项目中按分数排序的排名情况
查询功能(用户权限):
1.按照学校编号或名称查询,输出该学校的总分和参加项目的分数情况
2.按照项目编号查询,输出前三名的学校的编号和名称
3.按照学校编号查询,然后按照项目编号查询,输出该学校该项目的获奖情况

5.限制条件及需求:

1.学校名称不可超过20个字符
2.有中文提示
3.分数均为整数(限定每个项目取前七名得分,分别为10、8、6、4、3、2、1,其余名次为0分)

6.模块设计:

1.输入 2.输出 3.排序 4.学校类 5.赛事类 6.存储

7.界面设计

1.登录:区分管理员和用户
2.管理员界面:输入赛事结果并存储到文件中
3.用户界面:选择查询方式、输入查询对象
4.输出:根据查询要求,输出各种成绩单和得分报表

三、伪代码描述

首先创建工作簿,即一个.xls文件,寻找该文件的路径。找到该文件即对文件进行操作,若未找到则在该路径下新创建一个工作簿。
初始化工作簿表头。
对比赛结果进行录入。
读取比赛结果,根据各项要求输出数据。

四、总结

1.读完题目,准确理解需求,再仔细分析问题需要怎么实现,什么功能需要怎么实现;
2.细化问题后,该怎么设计,模块,界面,代码等;
3.kiss law,多借鉴别人的思路,择优使用。

参考网络资源1
参考网络资源2
参考网络资源3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值