学校运动会管理系统 C++课程设计Word格式文档下载.docx
《学校运动会管理系统 C++课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学校运动会管理系统 C++课程设计Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
![学校运动会管理系统 C++课程设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/14/9c0cf5c6-f93d-4049-b838-3a7e4d7995db/9c0cf5c6-f93d-4049-b838-3a7e4d7995db1.gif)
运动会信息管理;
前言
计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。
整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。
如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。
因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。
信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。
处在信息时代的今天,信息的作用越来越为人们所重视。
制定成绩计划,研究投资策略,都离不开对信息的充分利用。
在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。
传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。
学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。
学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。
根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、计算等四个工具模块来完成所期望的功能。
依据关系型数据库理论设计数据库的结构。
使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。
第一章开发环境和开发工具
1.1C/C++语言简介
C语言是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。
1.2开发背景
随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。
采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则是其中重要的组成部分。
人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。
因此,本文所研究的人事管理信息系统具有一定的使用价值和现实意义。
1.3开发环境
本文所采用的开发环境主要是基于C++语言在VisualC++平台上开发的系统,界面友好,功能强大,调试也很方便。
这是微软出的一个C语言集成开发环境(IDE),主要有:
VC++6.0等,分为企业版和学生版等。
对于初学者VC++6.0是比较容易上手的,但其对标准支持的不好可能使人养成不良的编程习惯。
第二章算法思想
2.1系统需求分析
●本实验中,对不同的对象采取不同的存储结构,对比赛项目采取链式结构,而对于参赛运动员采取一个结构就可以了。
本程序中主要用到线性表的一些基本操作,将比赛项目信息,运动员信息,赛事信息都构造成线性表。
具体功能通过主函数分别调用各函数实现。
●参考本实验的功能要求,本程序分为七个模块:
主函数、信息录入函数、信息修改函数、信息删除函数、信息查询函数,信息输出函数。
●信息录入函数有包括比赛项目信息录入函数(包括比赛编号、名称等),运动员信息录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份)、比赛赛事信息录入函数(某运动员参加某比赛项目,成绩、名次)。
●信息修改函数包括比赛项目、运动员信息、赛事信息修改。
●信息查询函数包括根据比赛项目、运动员编号进行查修
●信息输出函数包括比赛项目、运动员信息、赛事信息输出等。
2.2系统总体设计
本文研究开发的运动会管理系统用于支持用于查询各个学校在运动会中的成绩。
有几种目标:
●支持输入各个项目的基本信息;
●可以按比赛项目编号或名称查询、删除、修改信息。
●可以按运动员编号或姓名查询、删除、修改信息
●数据输入信息并能随时查询
第三章算法实现
附源代码:
#include<
iostream>
fstream>
string>
usingnamespacestd;
voidfun1()
{cout<
<
"
******************************"
endl;
cout<
******学校运动会管理系统******"
----数据录入请按:
1----"
----数据修改请按:
2----"
----数据删除请按:
3----"
----数据查询请按:
4----"
----数据显示请按:
5----"
----退出系统请按:
6----"
*******************************"
*****请输入一个数据,并按回车键!
*****"
}
classMatch
{
public:
Match*next;
//为创建链表做准备
intnumber;
//比赛项目编号
charcall[10];
//比赛项目名称
chartime[10];
//比赛时间
charplace[20];
//比赛地点
friendvoidinput1();
};
voidinput1()
{ofstreamfout("
e:
\\比赛项目.dat"
ios:
:
app);
charch;
Matcha;
do
{cout<
请分别输入比赛项目编号、名称、比赛时间、比赛地点."
cin>
>
a.number>
a.call>
a.place>
a.time;
a.next=NULL;
fout.write((char*)&
a,sizeof(Match));
是否继续输入,如果继续键入Y|y"
ch;
}while(ch=='
y'
||ch=='
Y'
);
fout.close();
Match*head1;
voidcreat()
{head1=NULL;
Match*p,*q=head1;
ifstreamfin("
in);
if(!
fin)
文件打开失败!
exit(0);
}
p=newMatch;
fin.read((char*)p,sizeof(Match));
while(!
fin.eof())
{if(head1==NULL)head1=p;
else
q->
next=p;
q=p;
fin.close();
intchange1()//对比赛项目相关信息修改
您正在进行修改比赛项目有关事项操作!
creat();
Match*p1;
p1=head1;
请输入要修改比赛项目的编号:
intnumber1;
//要修改的比赛项目编号
intsign=0;
//设置的标记变量
number1;
while(p1!
=NULL)
{if(p1->
number==number1){sign=1;
break;
p1=p1->
next;
if(sign==0)
没有找到要修改的记录!
else
{
cout<
请选择要修改比赛项目的那些信息"
------修改比赛项目的编号----1"
------修改比赛项目的名称----2"
------修改比赛时间----3"
------修改比赛地点----4"
请输入对应信息的编号"
inta;
intnu;
//新的整形数据
charinfo[20];
//新的字符数组
cin>
a;
switch(a)
{
case1:
cout<
请输入新的比赛编号:
cin>
nu;
p1->
number=nu;
cout<
比赛项目编号修改成功!
break;
case2:
请输入新的比赛项目名称:
info;
strcpy(p1->
call,info);
比赛项目名称修改成功!
case3:
请输入新的比赛时间:
strcpy(p1->
time,info);
比赛项目时间修改成功!
break;
case4:
请输入新的比赛地点:
place,info);
比赛项目地点修改成功!
}
ofstreamfout("
out);
p1=head1;
while(p1!
{
fout.write((char*)p1,sizeof(Match));
p1=p1->
}
}
return0;
intdelete1()//对比赛项目相关信息进行删除
{creat();
Match*p1,*p2;
p2=p1=head1;
请选择要删除比赛项目的那些信息"
------删除比赛项目的编号----1"
------删除比赛项目的名称----2"
intn;
n;
intnum,flag=0;
charcal[10];
switch(n)
{case1:
num;
{if(p1->
number==num){flag=1;
p2=p1;
}
if(flag==0)
没有找到要删除的记录!
p2->
next=p1->
cal;
{if(!
strcmp(p1->
call,cal)){flag=1;
ofstreamfout("
{
return0;
voidprint1()
Match*p1=head1;
请分别输出比赛项目编号、名称、比赛时间、比赛地点."
p1->
number<
'
\t'
call<
time<
place<
voidfind1()
//设置的标记变量
请选择要查询比赛项目的哪些信息"
------按比赛项目的编号查询----1"
------按比赛项目的名称查询----2"
------按比赛时间查询----3"
------按比赛地点查询----4"
//查询整形数据条件
//查询字符型数据条件
请输入要查询的比赛编号:
while(p1!
number==nu){sign=1;
没有找到要查询的记录!
else
请输入要查询的比赛项目名称:
call==info){sign=1;
请输入要查询的比赛时间:
time,info)){sign=1;
break;
请输入要查询的比赛地点:
place,info)){sign=1;
break;
classAthlete
Athlete*next;
//运动员的编号
charname[10];
//运动员的姓名
charpart[20];
//运动员所属工作单位或省份
charsex[20];
//运动员性别
intage;
//运动员年龄
friendvoidinput2();
voidinput2()
\\运动员.dat"
Athleteb;
请分别输入运动员编号、姓名、性别、年龄、所属省份或工作单位."
b.number>
b.name>
b.sex>
b.age>
b.part;
b.next=NULL;
b,sizeof(Athlete));
Athlete*head4;
voidcreat2()
{head4=NULL;
Athlete*p,*q=head4;
ifstreamfin("
p=newAthlete;
fin.read((char*)p,sizeof(Athlete));
{if(head4==NULL)head4=p;
intchange2()//对运动员相关信息修改
您正在进行修改运动员基本信息操作!
creat2();
Athlete*p1;
p1=head4;
请输入要修改运动员的编号:
//要修改的运动员编号
else
请选择要修改运动员的哪些信息"
------修改运动员的编号----1"
------修改运动员的姓名----2"
------修改运动员所属工作单位或省份----3"
------修改运动员性别---