




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C+程序设计课程设计报告 课 题: 学校运动会管理系统设计 专业班级: 学 号: 姓 名: 评阅意见:评定成绩: 指导老师签名: 年 月 日 指导教师: 目 录目 录摘 要 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3前 言 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3第一章 开发环境和开发工 - - - - - - - - - - - - - - - - - - - - -
2、 -41.1 C/C+语言简介 - - - - - - - - - - - - - - - - - - - - - 41.2 开发背景 - - - - - - - - - - - - - - - - - - - - - - - - - -41.3 开发环境 - - - - - - - - - - - - - - - - - - - - - - - - - -5第二章 算法思想 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 2.1. 系统需求分析 - - - - - - - - - - - - - - - - - - - -
3、- - 5 2.2. 系统总体设计 - - - - - - - - - - - - - - - - - - - -6第三章 算法实现(附源代码)- - - - - - - - - - - - - - - - - - -6第四章 算法结果 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 23 结束语 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -26参考文献 - - - - - - - - - - - - - - - - - -
4、- - - - - - - - - - - - - - - - - 26心得体会 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27致 谢 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 28摘 要运动会管理是一个重要内容,随着时代的进步,参加运动会的运动员数量也不断增加、项目也越来越多、运动会举办也越来越频繁,对运动会管理要求也越来越高。如何管理好各单位、运动员的成绩的信息,对运动会管理系统的
5、要求也越来越高,所以必须要不断地更新运动会管理系统,才能满足社会日益发展的需要。本文是采用VC+6.0作为前台开发工具,旨在实现对现有的运动会管理的基础上,提供信息录入,信息删除,信息查询,信息输出等服务,在此实验报告中主要实现对存储在管理系统中的数据表进行这些简单的操作,为提高运动会管理系统的效率提供了便利。关键词:VC+6.0;运动会信息管理;前 言 计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事务、科研生产等
6、方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定成绩计划,研究投资策略,都离不开对信息的充分利用。在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容
7、易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计信息查询等事务处理功能。根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、计算等四个工具模块来完成所期望的功能。依据关系型数据库理论设计数据库的结构。使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。 第一章 开发环境和开发工
8、具1.1 C/ C +语言简介C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。1.2 开发背景 随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要
9、的作用。采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则是其中重要的组成部分。人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的人事管理信息系统具有一定的使用价值和现实意义。1.3 开发环境本文所采用的开发环境主要是基于C+语言在Visual C+平台上开发的系统,界面友好,功能强大,调试也很方便。这是微软出的一个C语言集成开发环境(IDE),主要有:VC+6.0等,分为企业版和学生版等。对于初学者VC+6.0是比较容易上手的,但其对标准支持的不好可能使人养成不良的编程习惯。第
10、二章 算法思想 2.1 系统需求分析本实验中,对不同的对象采取不同的存储结构,对比赛项目采取链式结构,而对于参赛运动员采取一个结构就可以了。本程序中主要用到线性表的一些基本操作,将比赛项目信息,运动员信息,赛事信息都构造成线性表。具体功能通过主函数分别调用各函数实现。参考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修改函数、信息删除函数、信息查询函数,信息输出函数。信息录入函数有包括比赛项目信息录入函数(包括比赛编号、名称等),运动员信息录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份)、比赛赛事信息录入函数(某运动员参加某比赛项目,成绩、名次)。信息修改函数包括比
11、赛项目、运动员信息、赛事信息修改。信息查询函数包括根据比赛项目、运动员编号进行查修信息输出函数包括比赛项目、运动员信息、赛事信息输出等。2.2 系统总体设计 本文研究开发的运动会管理系统用于支持用于查询各个学校在运动会中的成绩。有几种目标: 支持输入各个项目的基本信息;可以按比赛项目编号或名称查询、删除、修改信息。可以按运动员编号或姓名查询、删除、修改信息数据输入信息并能随时查询 第三章 算法实现附源代码 : #include#include#includeusing namespace std;void fun1() cout*endl; coutendl; cout*学校运动会管理系统*e
12、ndl;cout-数据录入 请按:1-endl;cout-数据修改 请按:2-endl;cout-数据删除 请按:3-endl;cout-数据查询 请按:4-endl;cout-数据显示 请按:5-endl;cout-退出系统 请按:6-endl;coutendl;cout*endl;coutendl;cout*请输入一个数据,并按回车键!*endl;class Matchpublic:Match *next;/为创建链表做准备int number; /比赛项目编号char call10; /比赛项目名称char time10; /比赛时间char place20; /比赛地点 friendv
13、oid input1();void input1() ofstream fout(e:比赛项目.dat,ios:app);char ch;Match a;do cout请分别输入比赛项目编号、名称、比赛时间、比赛地点.a.numbera.calla.placea.time; a.next=NULL; fout.write(char *)&a,sizeof(Match); cout是否继续输入,如果继续键入Y|ych;while(ch=y|ch=Y); fout.close();Match *head1;void creat() head1=NULL; Match *p,*q=head1; if
14、stream fin(e:比赛项目.dat,ios:in); if(!fin) cout文件打开失败!next=p;q=p; p=new Match; fin.read(char*)p,sizeof(Match); fin.close();int change1() /对比赛项目相关信息修改cout您正在进行修改比赛项目有关事项操作!endl;creat(); Match *p1; p1=head1;cout请输入要修改比赛项目的编号:number1;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sig
15、n=0)cout没有找到要修改的记录!endl; elsecout请选择要修改比赛项目的那些信息endl;cout-修改比赛项目的编号-1endl;cout-修改比赛项目的名称-2endl;cout-修改比赛时间-3endl;cout-修改比赛地点-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入新的比赛编号:nu; p1-number=nu; cout比赛项目编号修改成功!endl; break; case 2:cout请输入新的比赛项目名称:info; strcpy(p1-call,info);cout比赛项目名称修改成功!endl; break;
16、 case 3:cout请输入新的比赛时间:info;strcpy(p1-time,info);cout比赛项目时间修改成功!endl; break; case 4:cout请输入新的比赛地点:info;strcpy(p1-place,info);cout比赛项目地点修改成功!next; fout.close(); return 0;int delete1() /对比赛项目相关信息进行删除 creat(); Match *p1,*p2; p2=p1=head1;cout请选择要删除比赛项目的那些信息endl;cout-删除比赛项目的编号-1endl;cout-删除比赛项目的名称-2endl;
17、cout请输入对应信息的编号n; int num,flag=0; char cal10; switch(n) case 1: cinnum; while(p1!=NULL) if(p1-number=num) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next=p1-next;case 2: cincal; while(p1!=NULL) if(!strcmp(p1-call,cal) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next
18、=p1-next; ofstream fout(e:比赛项目.dat,ios:out); p1=head1;while(p1!=NULL) fout.write(char*)p1,sizeof(Match);p1=p1-next; fout.close();return 0;void print1() creat(); Match *p1=head1; cout请分别输出比赛项目编号、名称、比赛时间、比赛地点.endl;while(p1!=NULL) coutnumbertcallttimetplacenext; void find1() creat(); Match *p1; p1=head
19、1; int sign=0;/设置的标记变量 cout请选择要查询比赛项目的哪些信息endl;cout-按比赛项目的编号查询-1endl;cout-按比赛项目的名称查询-2endl;cout-按比赛时间查询-3endl;cout-按比赛地点查询-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入要查询的比赛编号:nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimet
20、placeendl; break; case 2:cout请输入要查询的比赛项目名称:info; while(p1!=NULL) if(p1-call=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 3:cout请输入要查询的比赛时间:info;while(p1!=NULL) if(!strcmp(p1-time,info) sign=1;break; p1= p1-next; if (sign=0) cout没有
21、找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 4:cout请输入要查询的比赛地点:info;while(p1!=NULL) if(!strcmp(p1-place,info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl;break;class Athletepublic:Athlete *next;int number; /运动员的编号char name10; /运动
22、员的姓名 char part20; /运动员所属工作单位或省份char sex20; /运动员性别int age; /运动员年龄friend void input2();void input2() ofstream fout(e:运动员.dat,ios:app);char ch;Athlete b;docout请分别输入运动员编号、姓名、性别、年龄、所属省份或工作单位.b.sexb.ageb.part;b.next=NULL; fout.write(char *)&b,sizeof(Athlete); cout是否继续输入,如果继续键入Y|ych;while(ch=
23、y|ch=Y);Athlete *head4;void creat2() head4=NULL; Athlete *p,*q=head4;ifstream fin(e:运动员.dat,ios:in); if(!fin)cout文件打开失败!next=p;q=p; p=new Athlete; fin.read(char*)p,sizeof(Athlete); fin.close();int change2() /对运动员相关信息修改cout您正在进行修改运动员基本信息操作!endl;creat2(); Athlete *p1; p1=head4;cout请输入要修改运动员的编号:number1
24、;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要修改的记录!endl; elsecout请选择要修改运动员的哪些信息endl;cout-修改运动员的编号-1endl;cout-修改运动员的姓名-2endl;cout-修改运动员所属工作单位或省份-3endl;cout-修改运动员性别-4endl; cout-修改运动员年龄-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入新的运动员编号:nu; p1-number=nu; cout
25、运动员的编号修改成功!endl; break; case 2:cout请输入新的运动员姓名:info; strcpy(p1-name,info);cout运动员姓名修改成功!endl; break;case 3:cout请输入新的运动员所属工作单位或省份:info;strcpy(p1-part,info);cout运动员所属工作单位或省份修改成功!endl; break;case 4:cout请输入新的性别:info;strcpy(p1-sex,info);cout运动员性别修改成功!endl; break;case 5:cout请输入新的年龄:nu;p1-age=nu,cout运动员年龄修改
26、成功!next; fout.close(); return 0;int delete2()/对运动员相关信息进行删除 creat2(); Athlete *p1,*p2; p2=p1=head4;cout请选择要删除运动员的哪些信息endl;cout-删除运动员的编号-1endl;cout-删除运动员的姓名-2endl; cout请输入对应信息的编号n; int num,flag=0; char na10; switch(n) case 1: cinnum; while(p1!=NULL) if(p1-number=num) flag=1;break; p2=p1; p1= p1-next;
27、if (flag=0) cout没有找到要删除的记录!next=p1-next;case 2: cinna; while(p1!=NULL) if(!strcmp(p1-name,na) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next=p1-next; ofstream fout(e:运动员.dat,ios:out); p1=head4;while(p1!=NULL) fout.write(char*)p1,sizeof(Athlete);p1=p1-next; fout.close();return 0;vo
28、id find2() creat2(); Athlete *p1; p1=head4;int sign=0;/设置的标记变量 cout请选择要查询运动员的哪些信息endl;cout-按运动员的编号查询-1endl;cout-按运动员的姓名查询-2endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入要查询的运动员编号:nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertnametpartt
29、sextageendl; break;case 2:cout请输入要查询的运动员姓名:info; while(p1!=NULL) if(p1-name=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertnametparttsextageendl; break;void print2() creat2(); Athlete *p1=head4; cout请分别输出运动员编号、姓名、所属省份或工作单位、性别、年龄.endl; while(p1!=NULL) coutnumbertnam
30、etparttsextagenext; class Messagepublic:Message *next;char name10; /运动员姓名char avent10; /运动员参加的某比赛项目名称int score ; /成绩int ca; /名次 friend void input3();void input3() ofstream fout(e:比赛赛事.dat,ios:app);char ch;Message c;docout请分别输入参赛运动员姓名、比赛名称、比赛成绩、比赛名次.c.aventc.scorec.ca;c.next=NULL; fout.write(ch
31、ar *)&c,sizeof(Message); cout是否继续输入,如果继续键入Y|ych;while(ch=y|ch=Y);fout.close();Message *head7;void creat3() head7=NULL; Message *p,*q=head7;ifstream fin(e:比赛赛事.dat,ios:in); if(!fin)cout文件打开失败!next=p;q=p; p=new Message; fin.read(char*)p,sizeof(Message); fin.close();int change3() /修改比赛赛事信息 cout您正在进行修改比
32、赛赛事有关事项操作!endl;creat3(); Message *p1; p1=head7;cout请输入参赛运动员姓名及参赛项目名称! nainfo;while(p1!=NULL) if(p1-name=na)&(p1-avent=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要修改的记录!endl; elsecout请选择要修改比赛赛事的哪些信息endl;cout-修改参赛运动员的姓名-1endl;cout-修改比赛项目的名称-2endl;cout-修改比赛成绩-3endl;cout-修改比赛名次-4endl;cout请输入对应
33、信息的编号a;switch(a)case 1:cout请输入新的参赛运动员姓名:info; strcpy(p1-name,info); cout参赛运动员姓名修改成功!endl; break;case 2:cout请输入新的比赛项目名称:info; strcpy(p1-avent,info); cout比赛项目名称修改成功!endl; break;case 3:cout请输入新的比赛成绩:nu;p1-score=nu;cout比赛项目成绩修改成功!endl; break;case 4:cout请输入新的比赛名次:nu;p1-ca=nu;cout比赛名次修改成功!next; fout.close
34、();return 0;int delete3() /对比赛赛事相关信息进行删除 creat3(); Message *p1,*p2; p2=p1=head7; cout请输入要删除的参赛运动员姓名及比赛项目名称:nainfo; while(p1!=NULL) if(p1-name=na)&(p1-avent=info) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout没有找到要删除的记录!next=p1-next; ofstream fout(e:比赛赛事.dat,ios:out); p1=head7;while(p1!=NULL) fout.write(char*)p1,sizeof(Message);p1=p1-next; fout.close();return 0;void print3() creat3(); Message *p1=head7; cout请分别输出比
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025计时工资劳动合同
- 2025年:探讨合同法在维护债权人权益方面的作用
- 2025年店面租赁合同店面租赁协议
- 2024年动叶可调轴流电站用风机投资申请报告代可行性研究报告
- 2025【机械设备购销合同】机械设备供货合同范本
- 2025届大学毕业生在签订就业协议、劳动合同中应关注的关键事项
- 2025高速公路服务区餐饮合作经营合同
- 2025房屋装修合同公积金贷款
- 2025商品交易市场商位租赁经营合同
- 2025机密协议合同范本参考文献
- 2025年审计审查重点试题及答案
- 2025年证券从业资格证考试真题试题及答案
- 防水工程施工方案屋面防水施工的施工工艺
- 国家民政部所属单位招聘笔试真题2024
- 2025年济源职业技术学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 2025年中石油政工师理论考试题库(含答案)
- 2025年二建-水利-简答200问
- 专题03 古今中外科技成就(测试)(解析版)
- 安全专项施工方案内容
- 2025天津市安全员《B证》考试题库及答案
- 设计服务费用合同(2025年版)
评论
0/150
提交评论