基于C语言的校运动会项目管理系统

person 匿名

发布日期: 2019-12-24 16:30:36 浏览量: 174
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

前言

随着计算机技术的普及与提高,越来越多的人使用计算机,计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定成绩计划,研究投资策略,都离不开对信息的充分利用。

在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、统计等四个工具模块来完成所期望的功能。依据关系型数据库理论设计数据库的结构。使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。本次我会使用C语言来进行校运动会管理系统程序的编写,同时也作为本学期的c语言课程设计。下面我会简单的谈谈本次课程设计使用的一些方法。

  • 利用单链表结构实现学生成绩管理,深入了解数据库管理的基本功能,掌握c语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。

  • 充分运用学过的各种C语言知识,同时加深对c语言的理解,更深入地接触c语言的难点知识,如指针变量作函数参数、函数值为指向结构体的指针以及单链表结构应用等

  • 掌握c语言的编程和调试的基本技能

  • 掌握利用c语言进行简单软件设计的基本思路和方法

  • 提高运用c语言解决实际问题的能力

  • 掌握书写实验设计说明文档的能力

第一章 概述

1.1 课程设计目的与要求

为了迎接校运动会的到来,为了能够更好地展现运动健儿的风姿,为了更加客观的评定运动员的成绩,为了更加直观的了解到每个运动员的运动水平,我小组建立运动会管理系统,通过这个系统,用户能够实时查询运动员的相关信息、裁判员的基本信息,并且能够通过这个系统查询运动会项目信息,系统管理员也可通过该系统更新运动员的相关成绩体现比赛的公开、公正、公平的原则。同时巩固已学习的内容,复习程序设计和上机调试的基本方法方法。通过学习一个综合程序的设计与编写,使学生能够在较短的时间内掌握综合程序设计的基本步骤和方法。通过学习课本上的习题,举一反三,学会构建程序的柜架以及部分常用的算法代码的收发室。在加强的基础上,动手两个程序的完整设计与编写。

1.1.1 题目要求

  • 建立n个结点(结点数据域的值由键盘输入)构成的单链表

  • 统计某学院的所有比赛项目数,查找所有名次为第一次的结点记录并输出

  • 删除指定比赛的所有结点

  • 设计校际运动会管理系统,实现学校、运动员信息和运动项目的录入,比赛结果的输入,各个学校比赛结果的查询,生成团体总分报表,查看参赛学校信息和比赛项目信息。要求功能选择用菜单实现

1.1.2 系统要求

  • 基本信息输入:输入学校,运动员基本信息

  • 查询运动员的参赛项目和获取名次

  • 学院名称的记录

  • 运动员个人相关信息

1.2 选题内容

使用一个单链表建立一个校运动会项目管理表,每个记录包括:学院名称,比赛项目和名次。

1.3 设计过程

通过对题目以及相关要求做了简单分析,然后通过上网搜寻资料完成了整体的大纲设计。引用《C语言》,谭浩强 等编著,清华大学出版社;《C++面向对象程序设计教程》,郑莉 董渊 何江舟编著,清华大学出版社;

1.4 开发环境

本运动会管理系统是在Visual C++6.0的环境下设计和调试的。  

第二章 需求分析

建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息、参加的比赛项目等;姓名、身份信息、运动会信息包含各个比赛项目的信息、、比赛成绩等。

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

输入功能

可以从键盘中一次性输入多条信息例如学院名称,比赛项目等,还有

  1. 1:输入运动会各院各比赛项目的比赛结果
  2. 2:统计某学院的所有比赛项目数
  3. 3.查找某院所有的比赛结果
  4. 4.查找取得各比赛项目第一的学院信息
  5. 5.查找某个比赛项目各院的排名情况
  6. 6.删除指定比赛项目的信息
  7. 7.删除指定院系的参赛信息
  8. 8.修改某学院的比赛结果
  9. 9.增加比赛信息

输出功能

可以将运动员以及比赛信息输出。

循环功能

菜单可以多次操作,返回菜单,可以根据个人需要再次进行信息查询

第三章 系统设计

3.1 总体设计

3.2 详细设计

该系统总共分为2个模块,分别为运动员信息管理、、比赛信息查询;其中系统主要功能体现在运动员信息管理模块;该系统主要功能由以下各函数实现。

3.2.1 系统主要函数

  1. void Welcome();
  2. Ath* Create_Athlete();
  3. void Output_Athlete(Ath *head);
  4. Ath* Add_Athlete(Ath*head);
  5. void Find_Athlete_num(Ath*head);
  6. Ath* Updata_Athlete_num(Ath*head);
  7. void Find_Athlete_name(Ath*head);
  8. Re* Create_Referee();
  9. void Output_Referee(Re* head);
  10. void Input_Match_Information();
  11. Ath *SortLinkedlist_Athlete(Ath *head);
  12. void Output_Match_Information();
  13. Ath *Insert(Ath *head,Ath *pNode);
  14. void Output_Match_Name();

3.2.2 模块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函数中接收链表头指针,并从键盘录入所需要查询的运动员的号码信息,将其与链表中的数据进行数据对比,如果查询到与之相符的数据,将其删除,否则输出“查无此人”。

3.2.3 模块二:比赛信息查询

8:输出全部比赛项目;调用Output_Match_Information函数,从Menu函数中接收链表头指针,从首至尾输出运动员的所有信息。

9:输出单项比赛项目;调用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函数体输出比赛时间和地点。

第四章 运行与调试

输入指令进人操作页面

录入比赛结果

比赛信息查询

第六章 总结

本运动会管理系统是在Visual C++6.0的环境下设计和调试的。经过调试证明:

  • 本系统能满足学校运动会信息管理的需求,在录入的运动员信息和比赛项目信息数据准确的情况下,就能保证结果准确。不需要反复核对,减少了大量重复操作

  • 软件功能齐全,基本能满足学校运动会各种信息的管理,能够保证实时的数据处理,满足用户随时信息查询的需求

  • 由于水平和时间有限,本系统可能还存在不足之处,欢迎各位读者和同行提出批评意见和建议

上传的附件 cloud_download 程的课程设计.docx ( 347.58kb, 10次下载 ) cloud_download 核心代码cb.c ( 10.78kb, 29次下载 )
error_outline 下载需要6点积分
eject