前提:本系统以 C/C++语言 为主,根据数据结构与算法中的内容实现小型运动系统的构建
1. 需求分析
1.1. 问题阐述
- 在“学校运动会管理系统”中,设有n个单位参加运动会(单位可是学院、系、年级等,应可设定),共有男子比赛项目m,女子比赛项目w。每个学院可以选择参赛项目,运动员参赛项目应有所限制,如最多只能参加3项单项比赛。
- 各项目名次选取应可设置,随系统环境而变化,如:
- 参数人数超过6人,取前5名:第一名得7分,第二名得5分,第三名得3分,第四名得2分,第五名得1分;
- 参赛人数不超过6人,取前3名:第一名得5分,第二名得3分,第三名得2分。参赛人数不足4人的项目将取消。
- 系统设置内容:
- 参赛单位名称;
- 比赛项目设置(注意比赛成绩排序中田赛和竞赛的区别)
- 运动员参赛项目限制;
- 选取名次设置;
1.2. 基本要求:
- 参赛项目的“增删改查”以及发布;
- 参赛人员报名的“增删改查”;
- 成绩的“增删改查”;
- 项目,个人信息,成绩的备份和恢复;
- 系统的测试模式
2. 概要设计


3. 详细设计
1. 核心头文件<List.h>头文件:
该头文件定义了运动员、比赛项目、成绩的三个链表,学院的结构体,以及不同位置下的方法:

2. main.c 源文件的介绍:
将整个系统的运行放置在一个while循环中,通过输入选项的不同,进而进入ShowMenu函数进行不同选择。
3. athletes.c源文件的介绍:
当ShowMenu函数中传递的形参为0时,进入到参赛报名的界面内,且该界面内存在各种各样的功能供选择,进入参赛报名的界面内,用户可以根据自己的想要进行添加个人信息或者查看个人信息。

4. package.c源文件的介绍:
进入到ShowMenu方法存在的源文件,针对于形参的不同进入不同的设置界面。

5. Backstage_Settings.c源文件介绍:
当ShowMenu函数中传递的形参为1时,进入到后台设置的界面内,且该界面内存在各种各样的功能供选择.
6. backup.c源文件的介绍:
当第一次进入程序的时候,检查有无备份文件的txt,若有,用户输入y可以实现恢复备份。
当ShowMenu函数中传递的形参为8时,调用备份链表的函数writeEvent2Bak、
writeAthlete2Bak,将链表的数据导出到外部的txt文件。

7. test.c源文件的介绍:
当ShowMenu函数中传递的形参为9时,调用测试的方法,将事先准备好的项目和个人数据导入到内存中的链表,供用户临时测试。
4. 用户手册
4.1 程序简介
本程序基于链表存储数据,为对校运会系统简单实现。
4.2 使用教程
4.2.1 参赛报名
根据主菜单的提示输入“0”,进入报名的二级菜单,根据您的实际需求进行选择。
注意:参赛人员的姓名、性别、学号、学院、参赛项目等信息需要认真填写。学号需要您保管好,在查询项目成绩的时候作为用户的唯一标识。
4.2.3 后台设置
根据主菜单的提示输入“1”,进入后台的设置菜单,根据您的实际需求进行选择“增删项目”“查看所有运动员的信息”“删除运动员的参赛信息”“登记运动员的成绩”。
4.2.4 成绩查询
根据主菜单的提示输入“2”,进行成绩查询的菜单,根据实际的需求,您可以选择查看项目排名或学院排名。若查看项目排名,输入项目名称即可查询。
4.2.5 数据备份
根据主菜单的提示输入“8”,程序会自动在程序当前所有的目录下生成“athletes.txt” “events.txt”文件,用于存放当前所有的项目和参赛人员的数据。
注意:参赛人员的成绩若是没有进行后台的录入,则默认为“0”分。如果此前已经存在备份文件,那么新的备份将会擦除旧的备份并写入新的备份。
4.2.6 数据恢复
当第一次打开程序的时候,程序会自动检测当前目录下是否存在备份文件,若存在备份文件,那么根据提示输入“y”即可恢复原有的备份,输入非“y”的任意键便会退出数据恢复。
4.2.6 测试模式
根据主菜单的提示输入“9”,即可以导入代码中内置的设定好的项目和参赛人员,仅用于测试程序的其他功能,在实际上线后会进行删除。
4.2.7 退出系统
根据主菜单的提示输入“3”,即可退出当前系统。
注意:如果你没有进行数据的备份,那么程序运行过程中产生的数据将会被清空,我们强烈建议您进行数据备份后,再退出系统。
5. 运行结果









6. 源程序目录清单
- athletes.c
- List item
- athletes.h
- Backstage_Settings.c
- Backstage_Settings.h
- backup.c
- backup.h
- List.c
- List.h
- main.c
- package.c
- package.h
- Results.c
- Results.h
- test.c
- test.h
谢谢你的观看😊😊,求GitHub和优快云关注🌹🌹
8316

被折叠的 条评论
为什么被折叠?



