当前位置:文档之家› C语言课程设计_运动会管理系统

C语言课程设计_运动会管理系统

物联网工程课程设计报告课题:学校运动会管理系统专业班级:物联网工程131班报告人:陆俊贤 139074382庞彦辉 139074383指导老师:***评定成绩:指导老师签名:前言随着科技的发展,计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。

整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。

如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。

因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。

信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。

处在信息时代的今天,信息的作用越来越为人们所重视。

制定成绩计划,研究投资策略,都离不开对信息的充分利用。

在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。

传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。

学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。

学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。

根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、统计等四个工具模块来完成所期望的功能。

依据关系型数据库理论设计数据库的结构。

使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。

第一章设计课题为了迎接校运动会的到来,为了能够更好地展现运动健儿的风姿,为了更加客观的评定运动员的成绩,为了更加直观的了解到每个运动员的运动水平,我小组建立运动会管理系统,通过这个系统,用户能够实时查询运动员的相关信息、裁判员的基本信息,并且能够通过这个系统查询运动会项目信息,系统管理员也可通过该系统更新运动员的相关成绩体现比赛的公开、公正、公平的原则。

第二章算法思想2.1. 系统需求分析问题描述:建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息、参加的比赛项目等;裁判员信息为编号、姓名、身份信息、裁判项目;运动会信息包含各个比赛项目的信息、时间安排、裁判信息、比赛成绩等。

运动会作为全校的盛会,受到学生与校领导的广泛关注,为了体现信息公开化,保证比赛的公平,我小组编写此运动会信息管理系统,为了给运动会的负责人一些便利。

其主要功能如下:(1)各种运动信息的存储;(2)输入功能:可以从键盘或文件中一次性输入多条信息;(3)输出功能:可以将运动员、裁判员、以及比赛信息打印输出或显示;(4)查找功能:根据运动员、裁判员等查找所需要的比赛信息;(5)增加、删除、修改功能;完成运动信息的多种更新;2.2. 系统总体设计2.3. 系统的详细设计该系统总共分为3个模块,分别为运动员信息管理、裁判员信息管理、比赛信息查询;其中系统主要功能体现在运动员信息管理模块;该系统主要功能由以下23个函数实现。

系统主要函数:void Welcome();Ath* Create_Athlete();void Output_Athlete(Ath *head);Ath* Add_Athlete(Ath*head);void Find_Athlete_num(Ath*head);Ath* Updata_Athlete_num(Ath*head);void Find_Athlete_name(Ath*head);Re* Create_Referee();void Output_Referee(Re* head);Ath* Updata_Athlete_name(Ath*head);void Find_Referee_num(Re*head_Re);Ath *Delete_Athlete(Ath*head);void Input_Match_Information();Ath *SortLinkedlist_Athlete(Ath *head);void Output_Match_Information();Ath *Insert(Ath *head,Ath *pNode);int Check_Athlete(Ath*head,char Num[]);void Find_Single_Match_Information(Ath*head_Ath,Re*head_Re);void Output_SingleMatch_AthleteInformation(Ath*head,char NAME[]);void Output_SingleMatch_RefereeInformation(Re*head,char NAME[]);void Menu(Ath *p,Re* p_Re);void Output_SingleMatch_Athlete_Information(Ath*p);void Output_Match_Name();错误!未定义书签。

模块1:运动员信息管理系统由Create_Athlete函数创建运动员链表信息,返回链表头指针,可以实现的功能,如1:输出全部运动员信息;调用Output_Athlete函数,从Menu函数中接收链表头指针,从首至尾输出运动员的所有信息;2:增加运动员信息调用Add_Athlete函数,从Menu函数中接收链表头指针,并且将需要链接到链表中的数据加入链表尾部,最后返回链表头指针;3:按号码查运动员信息调用Find_Athlete_num函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的号码信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其输出,否则输出“查无此人”;4:按姓名查询运动员信息调用Find_Athlete_name函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的姓名信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其输出,否则输出“查无此人”;5:按号码修改运动员信息调用Updata_Athlete_num函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的号码信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其输出,并重新录入相关信息,返回链表头指针;6:按姓名修改运动员信息调用Updata_Athlete_name函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的姓名信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其输出,并重新录入相关信息,返回链表头指针;7:按号码删除运动员信息调用Delete_Athlete函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的号码信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其删除,否则输出“查无此人”;8:输出运动员积分排名调用SortLinkedlist_Athlete函数,从Menu函数中接收链表头指针,SortLinkedlist_Athlete函数嵌套调用Insert(Ath *head,Ath *pNode)函数,Insert函数接收SortLinkedlist_Athlete函数传递的新链表的头指针以及当前节点的指针,按照条件进行排序并且返回头指针到SortLinkedlist_Athlete函数,直到SortLinkedlist_Athlete函数将原链表所有数据全部扫描,最后返回头指针;模块2:裁判员信息管理系统由Create_Referee函数创建运动员链表信息,返回链表头指针,可以实现的功能,如9:输出全部裁判员信息调用Output_Athlete函数,从Menu函数中接收链表头指针,从首至尾输出运动员的所有信息;10:按号码查询裁判员信息调用Find_Referee_num函数,从Menu函数中接收链表头指针,并从键盘录入所需要查询的运动员的姓名信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其输出,否则输出“查无此人”;模块:3·比赛信息管理由Input_Match_Information函数建立运动会项目信息结构体数组,并且将结构体数组设置为全局变量,可以实现以下功能,如:11:输出全部比赛项目调用Output_Match_Information函数,从Menu函数中接收链表头指针,从首至尾输出运动员的所有信息;12:输出单项比赛项目调用Find_Single_Match_Information函数,从Menu函数中分别接收运动员链表和裁判员链表的头指针,再由Find_Single_Match_Information函数嵌套调用Output_Match_Name函数,输出所有的运动项目供用户选择,获取运动项目信息后嵌套调用Output_SingleMatch_AthleteInformation(Ath*head,char NAME[])函数和Output_SingleMatch_RefereeInformation(Re*head,char NAME[])函数,分别输出参与该项运动的运动员和裁判员,由Find_Single_Match_Information函数体输出比赛时间和地点;第三章算法的实现3.1 算法的调试与测试调试方法:断点法、单步调试法测试结果的分析与讨论:测试过程中遇到的主要问题:在函数体中的变量繁多,使用时容易混乱,在使用全局变量的时候也会不小心在某个函数改变其初始值等等。

3.2 测试的结果图3.2.2 系统主菜单图3.2.3 输出全部运动员信息图3.2.4 添加运动员信息图3.2.5 按号码查找运动员信息图3.2.6 按姓名查找运动员信息图3.2.7 修改运动员信息图3.2.8 将运动员按照积分排名图3.2.9 输出全部裁判员信息图3.2.10 查询裁判员信息图3.2.11 输出全部比赛信息图3.2.12 输出所有比赛项目供用户选择图3.2.13 输出某项比赛的所有信息第四章用户手册1、打开文件,在VC++6.0中运行文件,弹出欢迎界面。

如下图2、按任意键,弹出主菜单。

如下图3、根据系统提示,选择不同编号对系统进行不同的操作。

相关主题