运动会成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运动会成绩管理系统
1.绪论
运动会成绩管理程序设计的开发是为了方便记录比赛成绩,运动员的状况和成绩,对比赛成绩进行排名。这个系统以快捷,简便为原则,更加方便了对运动会成绩的记录。运动会是很早以前就有的一项组织性活动,它的存在使人们的身体得到了锻炼。运动会是一项必不可少的活动,所以开发这个系统可以使运动会成绩的记录变的更加方便。
设计一个运动会成绩管理程序,主要实现以下功能:
1、检录功能,登录参赛运动员的信息;
2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩;
3、针对不同比赛对运动员的成绩排名次;
4、可对运动员的信息和成绩进行修改、删除、查询操作。
2.系统分析
2.1功能需求
本系统要求对运动员的信息进行登录修改,记录,查询,要求可以对运动员的成绩进行单项排名。主要实现程序最初运行时运动员数据的录入以及其后的运行数据的追加功能,实现的功能是按照号码对运动员的数据记录进行修改、记录、查询、删除,按照题目的具体要求实现的是某项成绩的递减排序以及名次显示。
2.2数据需求
在这些函数当中,添加运动员数据函数例如运动员序号、运动员名称、百米赛跑成绩、三级跳成绩和撑杆跳成绩。
2.3性能需求
本系统的性能需求:要求运行稳定、数据可靠、输出准确、响应速度快、可安全运行、能很好的保存、删除、修改。可以及时保存存储删除数据,可对成绩进行排名,显示即时成绩
3.总体设计
3.1功能模块设计
经过对程序设计题目的分析可知,整个程序的设计实现大致分为5个模块,每一个模块对应一个函数。在这些函数当中,添加运动员数据函数,删除数据函数,某项成绩排序函数的实现严格按照题目的要求,而更改数据函数和显示函数属于附加功能。读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。录入信息模块是录入运动员信息、查询信息模块是查询运动员信息的、修改信息模块可以对运动员信息进行修改、删除模块可对运动员信息进进行删除、成绩排名是对运动员的成绩进行排名,功能模块见图1所示。
图1 功能模块图
3.2系统设计方案
本系统中用到了结构体数组和数据的存储。该结构体数组中包含字符串,系统的设计方案如下:
(1)数据结构
struct student
{char num[20];//运动员号码
char name[10];//运动员名字
float baimi;//百米赛跑成绩
float sanjitiao;//三级跳成绩
float chenggantiao;//撑杆跳成绩
};
(2)菜单
设计一个总菜单,0、查询运动员数据;1、添加运动员数据;2、显示运动员数据;3、删除运动员数据;4、修改运动员数据;5、百米成绩排序;6、三级跳成绩排序;7撑杆跳成绩排序;8、退出;基本功能的实现都将体现在这几个菜单选项中。
(3) 函数
定义了12个函数
void menu();
int reads(struct student stu[N]);//读取运动员信息
void save(struct student stu[N],int n);//储存运动员信息
void search();//查询运动员信息
void add();//添加运动员信息
void del();//删除运动员信息
void sort();// 按百米赛跑成绩查询
void keep();//按三级跳成绩查询
void sheep();//按撑杆跳成绩查询
void query();//退出程序
void show();//显示运动员信息
void change();//更改运动员信息
4.详细设计
4.1录入信息模块
1. 添加数据函数
添加数据分为两种情况,其一是在运动员文件(student.txt)不存在的情况下,首先由程序创建一个新文件,并将录入的运动员信息写入该文件当中;其二是在运动员文件(student.txt)已经存在的情况下,此时文件以追加的方式打开,这样才可以保证以前已经存在的数据不丢失。
图2录入信息流程图
4.2查询信息模块
查询文件是在以存的运动员信息中进行查询,可对运动员信息进行查询显示运动员信息。通过录入运动员号码num ,与stu[i].num做比较,结果相同进行m++,m=reads(stu);来提取文件中的数据
N
图3查询信息流程图
4.3修改信息模块
修改信息是对运动员信息进行修改,通过输入number与stu[i].num比较,如果相同进行 n=reads(stu)来提取信息在对信息进行修改。
图4修改信息流程图
4.4删除信息模块
该函数的核心内容是删除算法以及最终对源文件的更新。该函数执行时,首先调用reads函数将文件中的运动员信息读入数组当中,并由用户输入待删除运动员的号码,而后按照该号码进行查找,如果文件中存在该运动员的数据,则采用删除算法删除,否则输出运动员信息不存在的提示信息。对运动员信息的具体删除算法是在结构体数组中实现的,当运动员的信息被找到后,位于数组中该学生后面的运动员记录依次向前移动一个元素的位置,这些操作完成后,要删除运动员信息就被后面的数组元素覆盖掉了,也就实现了删除。
图5删除信息流程图
4.5成绩排名模块
对于某项的排序采用的排序算法是冒泡法排序,整个排序过程在结构体数组stu中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。