校运动会管理系统

合集下载

运动会管理系统设计

运动会管理系统设计

运动会管理系统设计运动会管理系统是一种基于计算机技术的信息化管理系统,主要用于对运动会的组织、管理、统计等工作进行自动化处理和辅助,提高运动会工作的效率和质量。

以下是一个运动会管理系统的设计方案,包括系统的功能模块、数据结构和流程等。

1.功能模块设计(1)用户管理模块:包括管理员、教师、学生等用户的注册、登录、修改密码等功能。

(2)运动项目管理模块:用于添加、修改、删除运动项目的信息,包括项目名称、项目规则、参赛选手等。

(3)报名管理模块:学生可以通过该模块进行报名参加运动项目,管理员可以审核和确认报名信息。

(4)赛程管理模块:用于安排和调整各个项目的赛程,并进行赛事结果的统计和展示。

(5)成绩管理模块:用于录入和查询各个项目的比赛成绩,并进行排名和奖项的确定。

(6)系统设置模块:管理员可以对系统的参数进行配置和修改,如学院信息、场地信息、时间安排等。

2.数据结构设计(1)用户表:包括用户ID、用户名、密码、用户类型等字段。

(2)运动项目表:包括项目ID、项目名称、项目规则、参赛选手等字段。

(3)报名表:包括报名ID、学生ID、项目ID、报名状态等字段。

(4)赛程表:包括赛程ID、项目ID、场地、时间等字段。

(5)成绩表:包括成绩ID、项目ID、学生ID、成绩等字段。

3.系统流程设计(1)用户注册和登录流程:用户通过注册页面进行账号注册,注册成功后可以通过登录页面登录系统。

(2)运动项目管理流程:管理员通过运动项目管理模块添加、修改和删除运动项目的信息。

(3)报名管理流程:学生通过报名管理模块进行报名参加运动项目,待管理员审核通过后,报名信息生效。

(4)赛程管理流程:管理员通过赛程管理模块进行赛程安排和调整,并将赛程信息展示给相关人员。

(5)成绩管理流程:相关人员通过成绩管理模块录入和查询各个项目的比赛成绩,系统自动进行排名和奖项的确定。

以上是一个简单的运动会管理系统设计方案。

在实际开发过程中,还可以根据需要进行功能扩展和界面设计,以满足具体的管理要求。

学校运动会管理系统

学校运动会管理系统

C 语言课程设计学校运动会管理系统一、需求分析1、问题描述:建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息(教师、学生)、参加的比赛项目等;裁判员信息为编号、姓名、身份信息(教师、学生)、裁判的项目;运动会信息包含各个比赛项目的信息、时间安排、裁判信息、比赛成绩等。

2、功能要求:(1)各种运动信息需要利用文件的形式进行存储。

(2)输入功能:可以从键盘或文件中一次性输入多条信息;(3)输出功能:可将运动员、裁判员、以及比赛信息打印输出或显示;(4)查找功能:根据运动员、裁判员等查找出所需要的比赛信息;(5)增加、删除、修改功能:完成运动员信息的多种更新;(6)统计功能:完成各类比赛信息的统计功能,例如某项比赛的名词排名,各个运动员的积分成绩统计等。

二、总体设计1、将学校运动会管理系统系统进行模块化分析三、详细设计本程序包含除main函数外包含20个函数:menu()、menu2()、reads(struct athletes ath[N]) 、reads1(struct referee ref[N])、reads2(structAll_the_events sport[N]) 、save(struct athletes ath[N],int n)、 show_athletes()、how_referee()、add()、According_to_the_number_to_find_players_informat ion ()、According_to_the_name_to_find_players_informatio n ()、According_to_the_number_to_Modify_the_players_in formation ()、According_to_the_name_to_Modify_the_players_info rmation ()、According_to_the_name_to_delete_the_players_info rmation ()、According_to_the_name_to_find_referee_informatio n ()、show_all_events () 、Output_on_a_single_information ()、 sort()、keep() 、sheep()。

运动会管理系统实训报告

运动会管理系统实训报告

一、实训背景随着社会的不断发展,运动会作为学校、企事业单位等组织的一项重要活动,其规模和参与人数逐年增加。

传统的运动会管理方式存在诸多弊端,如信息收集困难、数据统计不准确、比赛安排不合理等。

为了提高运动会管理的效率和质量,我院开展了运动会管理系统实训,旨在通过系统化、信息化手段实现运动会管理的自动化和智能化。

二、实训目的1. 熟悉运动会管理系统的基本功能和使用方法。

2. 掌握运动会管理系统的设计与实现过程。

3. 提高实际操作能力,为以后从事相关管理工作打下基础。

三、实训内容1. 运动会管理系统概述运动会管理系统是一款基于计算机技术的综合性管理系统,主要包括运动员信息管理、比赛项目管理、成绩统计、比赛安排、赛事宣传等功能模块。

通过该系统,可以实现运动会信息的全面、实时、准确地收集、处理、分析和展示。

2. 运动会管理系统功能模块(1)运动员信息管理模块该模块负责运动员的基本信息录入、修改、删除和查询。

主要包括以下功能:①运动员基本信息录入:包括姓名、性别、年龄、身高、体重、所属学校等;②运动员信息修改:对已录入的运动员信息进行修改;③运动员信息删除:删除不需要的运动员信息;④运动员信息查询:根据运动员姓名、性别、年龄、身高、体重、所属学校等条件进行查询。

(2)比赛项目管理模块该模块负责比赛项目的创建、修改、删除和查询。

主要包括以下功能:①比赛项目创建:创建新的比赛项目,包括项目名称、比赛时间、比赛地点、比赛规则等;②比赛项目修改:对已创建的比赛项目进行修改;③比赛项目删除:删除不需要的比赛项目;④比赛项目查询:根据项目名称、比赛时间、比赛地点等条件进行查询。

(3)成绩统计模块该模块负责比赛成绩的录入、修改、删除和查询。

主要包括以下功能:①成绩录入:对比赛成绩进行录入,包括运动员编号、比赛项目、得分等;②成绩修改:对已录入的成绩进行修改;③成绩删除:删除不需要的成绩;④成绩查询:根据运动员编号、比赛项目、得分等条件进行查询。

运动会管理系统

运动会管理系统

运动会管理系统简介运动会是学校活动中具有较高参与度和关注度的大型活动之一。

为了更好地组织和管理运动会,提高办赛效率和体育竞技水平,开发一个高效的运动会管理系统是至关重要的。

功能需求1. 报名管理•学生可以通过系统进行线上报名,填写个人信息和参赛项目。

•管理员可以审核报名信息,及时更新参赛名单。

2. 赛事安排•管理员可以在系统中设置比赛日程、场地安排和裁判分配。

•比赛结束后,系统自动生成比赛结果和积分榜。

3. 成绩管理•记录每位选手在各项比赛中的成绩,包括比赛时间、名次等。

•可以生成各种数据分析报表,为教练和学生提供成绩数据参考。

4. 通知与公告•发布赛事通知、规则解释和相关消息。

•学生和教师可以查看系统上的通知和公告。

系统特点1.实时性: 系统能够及时更新参赛名单、赛程安排等信息,确保信息的及时性。

2.安全性: 学生个人信息和比赛成绩等数据加密存储,保证数据安全。

3.易用性: 系统界面简洁清晰,操作便捷,用户友好。

4.灵活性: 系统能够根据实际赛事需求进行定制和扩展,具有良好的灵活性。

未来展望随着科技的不断发展,我们相信运动会管理系统将会越来越完善,能够更好地满足学校运动会的组织和管理需求,提高运动会的质量和水平。

在未来,我们还可以考虑引入更多智能化的功能,比如人脸识别签到、实时数据分析等,进一步提升系统的智能化水平。

结语运动会管理系统是学校运动会组织的得力助手,帮助学校更高效地筹备和管理运动会,提升参赛者的参与度和体育竞技水平。

相信未来我们的系统会不断完善,为学校带来更多的便利与惊喜。

校运动会成绩管理系统

校运动会成绩管理系统

可视化程序设计课程——校运动会成绩管理系统相关说明一、系统简介校运动会成绩管理系统的灵感来源于10月30号我们校举行的第三十届运动会,并且基于对整个流程的熟悉,以及对可视化程序设计这门课程的知识的掌握程度。

经小组协商讨论后才决定将此系统作为我们可视化程序设计的课程大作业。

在我们看来,我们学校以及其它各个学校的运动会的相关开展,均是以纸质形式来实行的最多也就是用Word、Excle等形式来开展。

在这个“互联网+”的时代,将校运动会的学生报名、成绩管理等作用与互联网相结合,并增加相关功能来完善此系统。

基于此,我们做的校运动会成绩管理系统,来实现对学校运动会的更有效的管理、对校运会的前期工作和后期工作减少不少麻烦,同时,为参加与观看学校运动会的师生提供更为方便的服务。

二、功能说明2.1.本校师生登录2.1.1师生查看相关信息(项目信息、成绩信息);2.1.2师生报名(填写相关信息);在截止日期之前取消报名;2.2校运会管理员登录2.2.1添加比赛项目、师生成绩;2.2.2删除比赛项目、师生信息;2.2.3查询比赛项目、师生信息、师生成绩;三、数据库设计3.1在设计数据可结构时,应该尽可能满足用户所提出的各项要求,同时避免冗余数据产生。

所以在校运会成绩管理系统中,包括如下的信息表:报名信息表;项目信息表;成绩信息表;历年(三年)报名、项目、成绩信息表;历年(三年)各项目校记录信息表;3.2根据数据库需求分析的结果,就可以确定程序中所包含的实体及实体之间的关系。

根据本系统的需求,可以归纳出以下实体:系统,校运会管理员及本校师生。

为了更好地理解各个实体及含义,有ER图,即实体关系图对实体进行描述。

图1 ER图四、界面设计4.1 登录界面;4.1.1 师生登录成功后,功能选择界面;4.1.2 管理员登录成功后,功能选择界面;4.1.3 登录失败界面;4.2 师生报名界面;4.3 师生查看项目信息界面;4.4 师生查看成绩信息界面;4.5 管理员管理项目信息界面;(添加,删除,查询)4.6 管理员管理报名信息界面;(添加,删除,查询)4.7 管理员管理成绩信息界面;(添加,删除,查询)。

运动会管理系统需求说明书

运动会管理系统需求说明书

运动会管理系统需求说明书运动会管理系统需求说明书1.引言本文档旨在详细说明运动会管理系统的需求,包括系统的功能、性能和约束等方面,以便于开发团队了解并按照需求完成系统的开发。

2.项目背景和目的2.1 背景在大型运动会中,例如学校运动会、地区运动会等,需要对运动员、比赛项目、成绩、场馆等信息进行管理和统计,以保证比赛的顺利进行。

2.2 目的设计和开发一个运动会管理系统,实现对运动员、比赛项目、成绩、场馆等信息的管理和统计,提高比赛效率和管理水平。

3.功能需求3.1 用户管理3.1.1 注册与登录3.1.2 用户权限管理3.1.3 用户信息管理3.2 运动员管理3.2.1 运动员信息录入3.2.2 运动员信息查询3.2.3 运动员信息修改3.2.4 运动员信息删除3.3 比赛项目管理3.3.1 比赛项目信息录入3.3.2 比赛项目信息查询3.3.3 比赛项目信息修改3.3.4 比赛项目信息删除3.4 成绩管理3.4.1 成绩录入3.4.2 成绩查询3.4.3 成绩修改3.4.4 成绩删除3.5 场馆管理3.5.1 场馆信息录入3.5.2 场馆信息查询3.5.3 场馆信息修改3.5.4 场馆信息删除3.6 赛程管理3.6.1 赛程安排3.6.2 赛程查询3.6.3 赛程修改3.6.4 赛程删除3.7 数据统计报表3.7.1 运动员报名统计3.7.2 比赛项目报名统计3.7.3 成绩统计3.7.4 场馆使用统计4.性能需求4.1 响应时间4.2 并发能力4.3 安全性4.4 可扩展性5.约束5.1 技术约束5.2 法律约束5.3 经济约束附件:1.数据库设计文档2.系统界面设计图法律名词及注释:1.用户管理:对系统用户进行注册、登录、权限管理和信息管理等操作。

2.运动员管理:对参与运动会的运动员进行信息录入、查询、修改和删除等操作。

3.比赛项目管理:对运动会的各个比赛项目进行信息录入、查询、修改和删除等操作。

校园运动会管理系统的设计

校园运动会管理系统的设计

校园运动会管理系统的设计校园运动会是学生们体育锻炼和竞技交流的重要平台,也是学校展现其教育成果和校园文化的重要窗口。

而如何高效且精确地管理一场规模庞大的运动会,却是一个值得思考和探索的问题。

为了更好地解决校园运动会管理难题,我们需要设计一个符合实际需要的校园运动会管理系统。

这个系统应该具备以下几个特点:一、易于操作性强对于普通管理员和志愿者而言,最基本的要求就是操作起来简单明了,并且功能明确。

设计好的系统应该让他们在较短时间内能够熟练掌握系统的主要功能,对于日常运动会管理难题,能够迅速地根据需要进行操作。

二、信息化管理信息化管理是现代社会的一个大趋势,校园运动会管理也应该紧跟这个趋势。

在信息化时代,我们应该尽可能的让传统的运动会管理工作向电子化方向转移。

设计好的系统应该可以将与运动会相关的各类信息统一管理,如报名信息、成绩信息、裁判信息、赛程信息等等,同时也要保证信息的完整性和安全性。

三、实时性运动会管理是一个高度实时的过程,赛事动态需要及时更新,报名人员流动也很大,需要及时更新人员信息。

设计好的系统应该具备实时性,对于参赛队伍和各项比赛成绩等信息能够及时查询和更新,同时还要支持即时通讯和即时数据传输。

四、开放性校园运动会管理系统在保证本校运动会信息管理方便的同时,应该具备一定的开放性,支持联网查询和查询结果的导出,方便其他学校相关人员查询、下载、存档等操作。

同时也要具备一定的安全控制功能,避免信息被非法获取和使用。

综上所述,我们设计的校园运动会管理系统应该具备易于操作性强、信息化管理、实时性和开放性等特点,以实现校园运动会高效管理的目标。

在具备上述特点的基础上,运动会管理系统设计需要结合实际情况进行深入分析和实践,不断完善和优化,使其更好地服务于校园运动会管理。

运动会管理系统(两篇)

运动会管理系统(两篇)

引言概述:运动会管理系统(二)是一个以提高运动会组织效率和管理水平为目标的软件系统。

该系统可实现报名管理、比赛安排、成绩统计和奖项颁发等功能,为运动会的组织者提供了便捷的操作和全面的数据支持。

通过合理的系统设计和功能打造,可以提高运动会组织的整体效果,提升参与者的参与度和满意度。

正文内容:一、系统报名管理1.1 学生信息管理:系统可以存储学生的基本信息,包括姓名、年龄、性别、所属学校等。

同时,系统还可以记录学生的比赛项目和参赛意愿,方便组织者进行参赛安排。

1.2 报名流程管理:系统可以制定并管理运动会的报名流程,包括报名时间、报名规则等。

参与者可以通过系统进行在线报名,实现报名过程的快捷和自动化。

1.3 报名费用管理:系统可以记录参赛者的报名费用,并进行费用的统计和管理。

组织者可以通过系统生成费用报表,方便财务管理和结算。

二、比赛安排管理2.1 比赛项目管理:系统可以建立比赛项目的数据库,包括项目名称、参赛人数、比赛时间等信息。

组织者可以根据实际情况灵活调整比赛项目安排。

2.2 比赛场地分配:系统可以根据比赛项目和参赛者数量进行场地分配,确保比赛进程的顺利进行。

组织者可以通过系统实时监控场地使用情况,及时进行调整。

2.3 裁判人员安排:系统可以记录裁判人员的信息,包括姓名、专业领域等。

在比赛安排过程中,组织者可以通过系统自动分配裁判,保证比赛的公正性和公平性。

三、成绩统计管理3.1 成绩录入:系统可以记录比赛成绩,包括每位参赛者的成绩及相应的奖项。

组织者可以通过系统进行成绩的录入和修改,确保数据的准确性。

3.2 成绩排名:系统可以根据比赛成绩进行排名,根据规则自动确定获奖者。

组织者可以通过系统进行排名结果的查看和调整,确保排名的准确性和公正性。

3.3 成绩统计报表:系统可以生成成绩统计报表,包括参赛者的成绩、排名、奖项等信息。

组织者可以通过系统方便地进行成绩数据的分析和汇总。

四、奖项颁发管理4.1 奖项设置:系统可以设置不同比赛项目的奖项类别和数量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言课程设计学校运动会管理系统专业:网络工程班级:网133报告人:王先海 139074347刘随心 139074338葛翔 139074332指导老师:***报告日期:2014年12月13号一、需求分析1、问题描述:建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息(教师、学生)、参加的比赛项目等;裁判员信息为编号、姓名、身份信息(教师、学生)、裁判的项目;运动会信息包含各个比赛项目的信息、时间安排、裁判信息、比赛成绩等。

2、功能要求:(1)各种运动信息需要利用文件的形式进行存储。

(2)输入功能:可以从键盘或文件中一次性输入多条信息;(3)输出功能:可将运动员、裁判员、以及比赛信息打印输出或显示;(4)查找功能:根据运动员、裁判员等查找出所需要的比赛信息;(5)增加、删除、修改功能:完成运动员信息的多种更新;(6)统计功能:完成各类比赛信息的统计功能,例如某项比赛的名词排名,各个运动员的积分成绩统计等。

二、总体设计1、将学校运动会管理系统系统进行模块化分析三、详细设计本程序包含除main函数外包含20个函数:menu()、menu2()、reads(struct athletes ath[N]) 、reads1(struct referee ref[N])、reads2(structAll_the_events sport[N]) 、save(struct athletes ath[N],int n)、 show_athletes()、how_referee()、add()、According_to_the_number_to_find_players_informat ion ()、According_to_the_name_to_find_players_informatio n ()、According_to_the_number_to_Modify_the_players_in formation ()、According_to_the_name_to_Modify_the_players_info rmation ()、According_to_the_name_to_delete_the_players_info rmation ()、According_to_the_name_to_find_referee_informatio n ()、show_all_events () 、Output_on_a_single_information ()、 sort()、keep() 、sheep()。

此外还定义了三个结构体类型:struct athletes、struct referee、struct All_the_events。

四、调试与测试1、测试目的:测试出每个调用函数存在的数据调用错误,在分步调试的过程中检查出所用语句的错误,在检查程序的过程中尽量做出一定的更改,已达到让程序更加简洁的目的。

2、测试方法:对每一个调用的函数进行分步调试,之后再运行成功后根据运行结果对源程序做出相应的更改。

3、测试错误:a.搜索号码修改运动员信息时,发现文件被删除 b.按三级跳成绩排名时,发现有数据被后面的数据覆盖 c.等等4、解决措施:a.我还没找到方法耶。

b.将结构体struct All_the_events中的 char place[10]改成char place[20]五、测试结果1、输出菜单2、增加运动员信息3、输出全部运动员信息4、按号码查找运动员信息5、按姓名查找运动员信息6、输出全部裁判员信息7、按姓名查询裁判员信息8、输出全部比赛项目9、输出单项比赛信息6、用户手册:进入输出菜单选项界面->一般最开选择操作2,先增加运动员信息->再根据用户需求选择操作->最后选择操作13,退出系统。

7、附录(源代码)#include<stdio.h>#include<stdlib.h>#include <string.h>//#include<conio.h>#define N 20struct athletes{char num[20];char name[10];char Identity_information [10];float baimi;float sanjitiao;float chenggantiao;};struct referee{char num[20];char name[10];char Identity_information [10];char baimi[10];char sanjitiao[10];char chenggantiao[10];};struct All_the_events{char sport_name[10];char time[20];char referee[10];char place[20];};void menu(); //输出菜单选项void menu2() ;//输出输出单项比赛信息菜单选项int reads(struct athletes ath[N]);// 读取运动员文件中的内容int reads1(struct referee ref[N]); // 读裁判员取文件中的内容int reads2(struct All_the_events sport[N]); // 读取全部比赛项目文件中的内容void save(struct athletes ath[N],int n); // 运动员信息改变后更新文件void show_athletes(); // 输出全部运动员信息void show_referee(); // 输出全部裁判员信息void add();//增加运动员信息void According_to_the_number_to_find_players_information (); //按号码查找运动员信息void According_to_the_name_to_find_players_information (); //按姓名查找运动员信息void According_to_the_number_to_Modify_the_players_information (); //搜索号码修改运动员信息void According_to_the_name_to_Modify_the_players_information (); //搜索号码姓名修改运动员信息void According_to_the_name_to_delete_the_players_information (); //按姓名删除该运动员信息void According_to_the_name_to_find_referee_information (); //按姓名查找裁判员信息void show_all_events () ;// 输出输出全部比赛项目void Output_on_a_single_information ();//输出单项比赛信息void sort(); // 按百米赛跑成绩排名void keep() ;// 按三级跳成绩排名void sheep(); // 按撑杆跳成绩排名void main(){int n;while(1){menu();printf("\n 请输入您要选择的操作序号,按回车键确认:");scanf("%d",&n);switch(n){case 1: show_athletes();break;case 2: add();break;case 3: According_to_the_number_to_find_players_information ();break;case 4: According_to_the_name_to_find_players_information ();break;case 5: According_to_the_number_to_Modify_the_players_information ();break;case 6: According_to_the_name_to_Modify_the_players_information ();break;case 7: According_to_the_name_to_delete_the_players_information ();break;case 9: show_referee();break;case 10:According_to_the_name_to_find_referee_information ();break;case 11:show_all_events () ;break;case 12:Output_on_a_single_information ();break;case 13: exit(0);default:printf("输入错误,请输入列表中存在的序号!\n ");}}}void menu() //输出菜单选项{printf(" *════════* \n");printf(" ════════╣*运动会管理系统* ╠═════\n");printf(" ║ *════════* ║\n");printf(" ║【1】输出全部运动员信息║\n");printf(" ║║\n");printf(" ║【2】增加运动员信息║\n");printf(" ║║\n");printf(" ║【3】按号码查找运动员信息║\n");printf(" ║║\n");printf(" ║【4】按姓名查找运动员信息║\n");printf(" ║║\n");printf(" ║【5】搜索号码修改运动员信息║\n");printf(" ║║\n");printf(" ║【6】搜索姓名修改运动员信息║\n");printf(" ║║\n");printf(" ║【7】按姓名删除运动员信息║\n");printf(" ║║\n");printf(" ║【8】运动员积分排名║\n");printf(" ║║\n");printf(" ║【9】输出全部裁判员信息║\n");printf(" ║║\n");printf(" ║【10】按姓名查询裁判员信息║\n");printf(" ║║\n");printf(" ║【11】输出全部比赛项目║\n");printf(" ║║\n");printf(" ║【12】输出单项比赛信息║\n");printf(" ║║\n");printf(" ║【13】退出系统║\n");printf(" ═══════════════════════\n");}void menu2() //输出输出单项比赛信息菜单选项{printf(" *════════* \n");printf(" ════════╣* 单项比赛信息 *╠═════\n");printf(" ║ *════════* ║\n");printf(" ║【1】百米赛跑║\n");printf(" ║║\n");printf(" ║【2】三级跳║\n");printf(" ║║\n");printf(" ║【3】撑杆跳║\n");printf(" ║║\n");printf(" ║【4】退出系统║\n");printf(" ═══════════════════════\n");}int reads(struct athletes ath[N]) // 读取运动员文件中的内容{FILE *fp;int i=0;if((fp=fopen("f:\\程序设计\\athletes.txt","r"))==NULL){printf("文件打开失败!\n");return 0;}else{for(i=0;!feof(fp);i++)fscanf(fp,"%s %s %s %f %f %f\n",ath[i].num,ath[i].name,ath[i].Identity_inform ation,&ath[i].baimi,&ath[i].sanjitiao,&ath[i].chenggantiao);}fclose(fp);return i;}int reads1(struct referee ref[N]) // 读取裁判员取文件中的内容{FILE *fp;int i=0;if((fp=fopen("f:\\程序设计\\referee.txt","r"))==NULL){printf("文件打开失败!\n");return 0;}else{for(i=0;!feof(fp);i++)fscanf(fp,"%s %s %s %s %s %s\n",ref[i].num,ref[i].name,ref[i].Identity_inform ation,ref[i].baimi,ref[i].sanjitiao,ref[i].chenggantiao);}fclose(fp);return i;}int reads2(struct All_the_events sport[N]) // 读取全部比赛项目文件中的内容{FILE *fp;int i=0;if((fp=fopen("f:\\程序设计\\All_the_events.txt","r"))==NULL){printf("文件打开失败!\n");return 0;}else{for(i=0;!feof(fp);i++)fscanf(fp,"%s %s %s %s\n",sport[i].sport_name,sport[i].time,sport[i].referee,sp ort[i].place);}fclose(fp);return i;}void save(struct athletes ath[N],int n) // 运动员信息改变后更新文件{FILE *fp;int i=0;if((fp=fopen("f:\\程序设计\\athletes.txt","w"))==NULL){printf("文件打开失败!\n");return ;}else{for(i=0;i<n;i++)printf("%s %s %s %f %f %f\n",ath[i].num,ath[i].name,ath[i].Identity_informati on,ath[i].baimi,ath[i].sanjitiao,ath[i].chenggantiao);}fclose(fp);}void show_athletes() // 输出全部运动员信息{struct athletes ath[N];int i,n;n=reads(ath);printf("*****************************所有的学生信息如下***************************\n\n");printf(" 序号号码姓名身份百米赛跑(s) 三级跳(m) 撑杆跳(m) \n");printf("************************************************************ **************\n");for(i=0;i<n;i++)printf("\n%3d%12s%8s%8s%10.1f%12.1f%12.1f\n",i+1,ath[i].num,ath[i].name ,ath[i].Identity_information,ath[i].baimi,ath[i].sanjitiao,ath[i].chenggantiao);getch();}void add()//增加运动员信息{FILE *fp;int n,i;struct athletes ath;if((fp=fopen("f:\\程序设计\\athletes.txt","a"))==NULL) //如果文件已经存在,可以追加学生信息{if((fp=fopen("f:\\程序设计\\athletes.txt","w"))==NULL) // 文件不存在时,创建新文件,输入学生信息{printf("文件打开失败!\n");return;}}printf("请输入要添加的运动员数量,按回车键确认:");scanf("%d",&n);for(i=1;i<=n;i++){printf("\n请输入第%d个运动员的号码、姓名、身份,用空格分开,并按回车键确认:\n",i);scanf("%s%s%s",ath.num,,ath.Identity_information);printf("\n请输入第%d个运动员的百米赛跑(单位:s)、三级跳(单位:m)和撑杆跳(单位:m)三项成绩,用空格分开,没参加的项目用0表示,并按回车键确认:\n",i);scanf("%f%f%f",&ath.baimi,&ath.sanjitiao,&ath.chenggantiao);fprintf(fp,"%s %s %s %f %f %f\n",ath.num,,ath.Identity_information,a th.baimi,ath.sanjitiao,ath.chenggantiao);}fclose(fp);}void According_to_the_number_to_find_players_information () //按号码查找运动员信息{struct athletes ath[N];int n,i;char number[20];printf("\n请输入要查找运动员的号码,按回车键确认:");scanf("%s",number);n=reads(ath);for(i=0;i<n;i++)if(strcmp(number,ath[i].num)==0)break;if(i>=n){printf("无此学生信息!");return;}printf("\n现输出该运动员的号码,姓名,身份,百米赛跑、三级跳、撑杆跳三门成绩,按回车键确认:\n");printf(" 序号号码姓名身份百米赛跑三级跳撑杆跳 \n");printf("************************************************************ *\n");printf("\n%3d%12s%11s%11s%11.2f%12.2f%11.2f\n",i+1,ath[i].num,ath[i].na me,ath[i].Identity_information,ath[i].baimi,ath[i].sanjitiao,ath[i].chenggantiao);}void According_to_the_name_to_find_players_information () //按姓名查找运动员信息{struct athletes ath[N];int n,i;char name[20];printf("\n请输入要查找运动员的姓名,按回车键确认:");scanf("%s",name);n=reads(ath);for(i=0;i<n;i++)if(strcmp(name,ath[i].name)==0)break;if(i>=n){printf("无此学生信息!");return;}printf("\n现输出该运动员的号码,姓名,身份,百米赛跑、三级跳、撑杆跳三门成绩,按回车键确认:\n");printf(" 序号号码姓名身份百米赛跑三级跳撑杆跳 \n");printf("************************************************************ *\n");printf("\n%3d%12s%11s%11s%11.2f%12.2f%11.2f\n",i+1,ath[i].num,ath[i].na me,ath[i].Identity_information,ath[i].baimi,ath[i].sanjitiao,ath[i].chenggantiao);}void According_to_the_number_to_Modify_the_players_information () //搜索号码修改运动员信息{struct athletes ath[N];int n,i;char number[20];printf("\n请输入要更改信息的运动员号码,按回车键确认:");scanf("%s",number);n=reads(ath);for(i=0;i<n;i++)if(strcmp(number,ath[i].num)==0)break;if(i>=n){printf("无此运动员信息!");return;}printf("\n请输入更改后运动员的号码,姓名,身份,百米赛跑、三级跳、撑杆跳三门成绩,按回车键确认:\n");scanf("%s%s%s%f%f%f",ath[i].num,ath[i].name,ath[i].Identity_information,&at h[i].baimi,&ath[i].sanjitiao,&ath[i].chenggantiao);save(ath,n);}void According_to_the_name_to_Modify_the_players_information () //搜索姓名修改运动员信息{struct athletes ath[N];int n,i;char name[20];printf("\n请输入要更改信息的运动员姓名,按回车键确认:");scanf("%s",name);n=reads(ath);for(i=0;i<n;i++)if(strcmp(name,ath[i].name)==0)break;if(i>=n){printf("无此运动员信息!");return;}printf("\n请输入更改后运动员的号码,姓名,身份,百米赛跑(单位:s)、三级跳(单位:m)和撑杆跳(单位:m)三项成绩,用空格分开,没参加的项目用0表示,并按回车键确认:\n");scanf("%s%s%s%f%f%f",ath[i].num,ath[i].name,ath[i].Identity_information,&at h[i].baimi,&ath[i].sanjitiao,&ath[i].chenggantiao);save(ath,n);}void According_to_the_name_to_delete_the_players_information () //按姓名删除该运动员信息{struct athletes ath[N];char name[20];int n,i,j;n=reads(ath);printf("\n请输入要删除信息运动员姓名,按回车键确认:");scanf("%s",name);for(i=0;i<n;i++)if(strcmp(name,ath[i].name)==0)break;if(i>=n){printf("没有找到该运动员信息!\n");return;}else{for(j=i+1;j<n;j++)ath[j-1]=ath[j];}save(ath,n-1);printf("删除成功!\n");}void show_referee() // 输出全部裁判员信息{struct referee ref[N];int i,n;n=reads1(ref);printf("*********************所有的裁判员信息如下**********************\n\n");printf(" 序号号码姓名身份百米赛跑三级跳撑杆跳 \n");printf("************************************************************ *\n");for(i=0;i<n;i++)printf("\n%3d%8s%8s%8s%10s%8s%8s\n",i+1,ref[i].num,ref[i].name,ref[i].Ide ntity_information,ref[i].baimi,ref[i].sanjitiao,ref[i].chenggantiao);getch();}void According_to_the_name_to_find_referee_information () //按姓名查找裁判员信息{struct referee ref[N];int n,i;char name[20];printf("\n请输入要查找裁判员的姓名,按回车键确认:");scanf("%s",name);n=reads1(ref);for(i=0;i<n;i++)if(strcmp(name,ref[i].name)==0)break;if(i>=n){printf("无此裁判员信息!");return;}printf("*********************现输出该裁判员信息如下******************\n\n");printf(" 序号号码姓名身份百米赛跑三级跳撑杆跳 \n");printf("************************************************************ *\n");printf("\n%3d%8s%8s%8s%10s%8s%8s\n",i+1,ref[i].num,ref[i].name,ref[i].Ide ntity_information,ref[i].baimi,ref[i].sanjitiao,ref[i].chenggantiao);}void show_all_events () // 输出输出全部比赛项目{struct All_the_events sport[N];int i,n;n=reads2(sport);printf("*********************输出全部比赛项目**********************\n\n");printf(" 序号比赛项目比赛时间裁判员比赛地点\n");printf("***********************************************************\ n");for(i=0;i<n;i++)printf("\n%3d%12s%10s%11s%13s\n",i+1,sport[i].sport_name,sport[i].time,sp ort[i].referee,sport[i].place);getch();}void Output_on_a_single_information ()//输出单项比赛信息{int n;while(1){menu2();printf("\n 请输入您要选择的操作序号,按回车键确认:");scanf("%d",&n);switch(n){case 1: sort();break;case 2: keep();break;case 3: sheep();break;case 4: exit(0);default:printf("输入错误,请输入列表中存在的序号!\n ");}}}void sort() // 按百米赛跑成绩排名{struct athletes ath[N],temp;int i,j,n;n=reads(ath);for(i=0;i<n-1;i++)for(j=0;j<n-1;j++){if(ath[j].baimi>ath[j+1].baimi){temp=ath[j];ath[j]=ath[j+1];ath[j+1]=temp;}}save(ath,n);j=1;printf("*********************百米赛跑成绩排序结果如下******************\n\n");printf(" 名次号码姓名身份百米赛跑(s)\n");printf("************************************************************ *\n");for(i=0;i<n;i++) // 输出结果并排名{if(ath[i].baimi==ath[i+1].baimi)printf("\n%3d%12s%11s%11s%11.2f\n",j,ath[i].num,ath[i].name,ath[i].Identity _information,ath[i].baimi );elseprintf("\n%3d%12s%11s%11s%11.2f\n",j++,ath[i].num,ath[i].name,ath[i].Iden tity_information,ath[i].baimi );}getch();}void keep() // 按三级跳成绩排名{struct athletes ath[N],temp;int i,j,n;n=reads(ath);for(i=0;i<n-1;i++)for(j=0;j<n-1;j++){if(ath[j].sanjitiao<ath[j+1].sanjitiao){temp=ath[j];ath[j]=ath[j+1];ath[j+1]=temp;}}save(ath,n);j=1;printf("*********************三级跳成绩排序结果如下******************\n\n");printf(" 名次号码姓名身份三级跳(m)\n");printf("************************************************************ ***\n");for(i=0;i<n;i++) // 输出结果并排名{if(ath[i].sanjitiao==ath[i+1].sanjitiao)printf("\n%3d%12s%11s%11s%11.2f\n",j,ath[i].num,ath[i].name,ath[i].Identity _information,ath[i].sanjitiao );elseprintf("\n%3d%12s%11s%11s%11.2f\n",j++,ath[i].num,ath[i].name,ath[i].Iden tity_information,ath[i].sanjitiao );}getch();}void sheep() // 按撑杆跳成绩排名{struct athletes ath[N],temp;int i,j,n;n=reads(ath);for(i=0;i<n-1;i++)for(j=0;j<n-1;j++){if(ath[j].chenggantiao<ath[j+1].chenggantiao){temp=ath[j];ath[j]=ath[j+1];ath[j+1]=temp;}}save(ath,n);j=1;printf("*********************撑杆跳成绩排序结果如下******************\n\n");printf(" 名次号码姓名身份撑杆跳(m)\n");printf("************************************************************ ***\n");for(i=0;i<n;i++) // 输出结果并排名{if(ath[i].chenggantiao==ath[i+1].chenggantiao)printf("\n%3d%12s%11s%11s%11.2f\n",j,ath[i].num,ath[i].name,ath[i].Identity _information,ath[i].chenggantiao );elseprintf("\n%3d%12s%11s%11s%11.2f\n",j++,ath[i].num,ath[i].name,ath[i].Iden tity_information,ath[i].chenggantiao );}getch();}。

相关文档
最新文档