学校运动会管理系统-C++课程设计的报告_第1页
学校运动会管理系统-C++课程设计的报告_第2页
学校运动会管理系统-C++课程设计的报告_第3页
学校运动会管理系统-C++课程设计的报告_第4页
学校运动会管理系统-C++课程设计的报告_第5页
已阅读5页,还剩18页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.wd.wd.wd. C+程序设计课程设计报告课题: 学校运动会管理系统设计专业班级:学号:姓名:评阅意见:评定成绩: 指导教师签名: 年 月 日指导教师:目录目录摘要 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3前言 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3开发环境和开发工- - - - - - - - - - - - - - - - - - - - - -41.1 C/

2、C+语言简介- - - - - - - - - - - - - - - - - - - - - 41.2开发背景- - - - - - - - - - - - - - - - - - - - - - - - - -41.3开发环境- - - - - - - - - - - - - - - - - - - - - - - - - -5第二章算法思想 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 52.1. 系统需求分析 - - - - - - - - - - - - - - - - - - - - - - 52.2. 系统总体设计

3、- - - - - - - - - - - - - - - - - - - -6第三章算法实现附源代码- - - - - - - - - - - - - - - - - - -6第四章算法结果 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 23完毕语 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -26参考文献 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

4、 - - - - - 26心得体会 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27致谢 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 28摘要运动会管理是一个重要内容,随着时代的进步,参加运动会的运发动数量也不断增加、工程也越来越多、运动会举办也越来越频繁,对运动会管理要求也越来越高。如何管理好各单位、运发动的成绩的信息,对运动会管理系统的要求也越来越高,所以必须要不断地更新运动会管理系统

5、,才能满足社会日益开展的需要。本文是采用VC+6.0作为前台开发工具,旨在实现对现有的运动会管理的根基上,提供信息录入,信息删除,信息查询,信息输出等服务,在此实验报告中主要实现对存储在管理系统中的数据表进展这些简单的操作,为提高运动会管理系统的效率提供了便利。关键词:VC+6.0;运动会信息管理;前言计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进展

6、数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定成绩方案,研究投资策略,都离不开对信息的充分利用。在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运发动的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校田径运动会管理系统那么为组织者提供一个简捷

7、方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进展。学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运发动 基本信息录入,竞赛成绩处理及公告,成绩统计信息查询等事务处理功能。根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、计算等四个工具模块来完成所期望的功能。依据关系型数据库理论设计数据库的构造。使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。第一章开发环境和开发工具C/ C +语言简介C语言是一种 HYPERLINK

8、:/baike.baidu /view/2561555.htm t _blank 计算机程序设计语言。它既具有 HYPERLINK :/baike.baidu /view/14900.htm t _blank 高级语言的特点,又具有 HYPERLINK :/baike.baidu /view/49.htm t _blank 汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统 HYPERLINK :/baike.baidu /view/330120.htm t _blank 应用程

9、序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。1.2 开发背景随着科学技术的不断开展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进展信息化管理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化那么是其中重要的组成局部。人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的人事管理信息系统具

10、有一定的使用价值和现实意义。1.3 开发环境本文所采用的开发环境主要是基于C+语言在Visual C+平台上开发的系统,界面友好,功能强大,调试也很方便。这是微软出的一个C语言集成开发环境IDE,主要有:VC+6.0等,分为企业版和学生版等。对于初学者VC+6.0是比较容易上手的,但其对标准支持的不好可能使人养成不良的编程习惯。第二章算法思想2.1 系统需求分析本实验中,对不同的对象采取不同的存储构造,比照赛工程采取链式构造,而对于参赛运发动采取一个构造就可以了。本程序中主要用到线性表的一些 基本操作,将比赛工程信息,运发动信息,赛事信息都构造成线性表。具体功能通过主函数分别调用各函数实现。参

11、考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修改函数、信息删除函数、信息查询函数,信息输出函数。信息录入函数有包括比赛工程信息录入函数包括比赛编号、名称等,运发动信息录入函数运发动的编号、姓名、性别、年龄、工作单位或省份、比赛赛事信息录入函数某运发动参加某比赛工程,成绩、名次。信息修改函数包括比赛工程、运发动信息、赛事信息修改。信息查询函数包括根据比赛工程、运发动编号进展查修信息输出函数包括比赛工程、运发动信息、赛事信息输出等。2.2 系统总体设计本文研究开发的运动会管理系统用于支持用于查询各个学校在运动会中的成绩。有几种目标:支持输入各个工程的 基本信息;可以按比赛工程

12、编号或名称查询、删除、修改信息。可以按运发动编号或姓名查询、删除、修改信息数据输入信息并能随时查询第三章算法实现附源代码:#include#include#includeusing namespace std;void fun1() cout*endl; coutendl; cout*学校运动会管理系统*endl;cout-数据录入请按:1-endl;cout-数据修改请按:2-endl;cout-数据删除请按:3-endl;cout-数据查询请按:4-endl;cout-数据显示请按:5-endl;cout-退出系统请按:6-endl;coutendl;cout*endl;coutendl;

13、cout*请输入一个数据,并按回车键!*endl;class Matchpublic:Match *next;/为创立链表做准备int number; /比赛工程编号char call10; /比赛工程名称char time10; /比赛时间char place20; /比赛地点 friendvoid input1();void input1() ofstream fout(e:比赛工程.dat,ios:app);char ch;Match a;do cout请分别输入比赛工程编号、名称、比赛时间、比赛地点.a.numbera.calla.placea.time; a.next=NULL; f

14、out.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; ifstream 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您正

15、在进展修改比赛工程有关事项操作!endl;creat(); Match *p1; p1=head1;cout请输入要修改比赛工程的编号:number1;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请输入对应信息的编号a;switc

16、h(a)case 1:cout请输入新的比赛编号:nu; p1-number=nu; cout比赛工程编号修改成功!endl; break; case 2:cout请输入新的比赛工程名称:info; strcpy(p1-call,info);cout比赛工程名称修改成功!endl; break; case 3:cout请输入新的比赛时间:info;strcpy(p1-time,info);cout比赛工程时间修改成功!endl; break; case 4:cout请输入新的比赛地点:info;strcpy(p1-place,info);cout比赛工程地点修改成功!next; fout.cl

17、ose(); return 0;int delete1() /比照赛工程相关信息进展删除 creat(); Match *p1,*p2; p2=p1=head1;cout请选择要删除比赛工程的那些信息endl;cout-删除比赛工程的编号-1endl;cout-删除比赛工程的名称-2endl; 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) c

18、out没有找到要删除的记录!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=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()

19、creat(); Match *p1=head1; cout请分别输出比赛工程编号、名称、比赛时间、比赛地点.endl;while(p1!=NULL) coutnumbertcallttimetplacenext; void find1() creat(); Match *p1; p1=head1; int sign=0;/设置的标记变量 cout请选择要查询比赛工程的哪些信息endl;cout-按比赛工程的编号查询-1endl;cout-按比赛工程的名称查询-2endl;cout-按比赛时间查询-3endl;cout-按比赛地点查询-4endl;cout请输入对应信息的编号a;switch(

20、a)case 1:cout请输入要查询的比赛编号:nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 2:cout请输入要查询的比赛工程名称:info; while(p1!=NULL) if(p1-call=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutn

21、umbertcallttimetplaceendl; break; case 3:cout请输入要查询的比赛时间:info;while(p1!=NULL) if(!strcmp(p1-time,info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl; break; case 4:cout请输入要查询的比赛地点:info;while(p1!=NULL) if(!strcmp(p1-place,info) sign=1;break; p1= p1-ne

22、xt; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertcallttimetplaceendl;break;class Athletepublic:Athlete *next;int number; /运发动的编号char name10; /运发动的姓名 char part20; /运发动所属工作单位或省份char sex20; /运发动性别int age; /运发动年龄friend void input2();void input2() ofstream fout(e:运发动.dat,ios:app);char ch;Athlete b;do

23、cout请分别输入运发动编号、姓名、性别、年龄、所属省份或工作单位.b.sexb.ageb.part;b.next=NULL; fout.write(char *)&b,sizeof(Athlete); cout是否继续输入,如果继续键入Y|ych;while(ch=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.r

24、ead(char*)p,sizeof(Athlete); fin.close();int change2() /对运发动相关信息修改cout您正在进展修改运发动 基本信息操作!endl;creat2(); Athlete *p1; p1=head4;cout请输入要修改运发动的编号:number1;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要修改的记录!endl; elsecout请选择要修改运发动的哪些信息endl;cout-修改运发动的编号-1endl;cout-

25、修改运发动的姓名-2endl;cout-修改运发动所属工作单位或省份-3endl;cout-修改运发动性别-4endl; cout-修改运发动年龄-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入新的运发动编号:nu; p1-number=nu; cout运发动的编号修改成功!endl; break; case 2:cout请输入新的运发动姓名:info; strcpy(p1-name,info);cout运发动姓名修改成功!endl; break;case 3:cout请输入新的运发动所属工作单位或省份:info;strcpy(p1-part,inf

26、o);cout运发动所属工作单位或省份修改成功!endl; break;case 4:cout请输入新的性别:info;strcpy(p1-sex,info);cout运发动性别修改成功!endl; break;case 5:cout请输入新的年龄:nu;p1-age=nu,cout运发动年龄修改成功!next; fout.close(); return 0;int delete2()/对运发动相关信息进展删除 creat2(); Athlete *p1,*p2; p2=p1=head4;cout请选择要删除运发动的哪些信息endl;cout-删除运发动的编号-1endl;cout-删除运发动

27、的姓名-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; 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没有找到要删除

28、的记录!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;void find2() creat2(); Athlete *p1; p1=head4;int sign=0;/设置的标记变量 cout请选择要查询运发动的哪些信息endl;cout-按运发动的编号查询-1endl;cout-按运发动的姓名查询-2endl;cout请输入对应信息的编号a;switch(

29、a)case 1:cout请输入要查询的运发动编号:nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnumbertnametparttsextageendl; break;case 2:cout请输入要查询的运发动姓名:info; while(p1!=NULL) if(p1-name=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else cout

30、numbertnametparttsextageendl; break;void print2() creat2(); Athlete *p1=head4; cout请分别输出运发动编号、姓名、所属省份或工作单位、性别、年龄.endl; while(p1!=NULL) coutnumbertnametparttsextagenext; class Messagepublic:Message *next;char name10; /运发动姓名char avent10; /运发动参加的某比赛工程名称int score ; /成绩int ca; /名次 friend void input3();vo

31、id input3() ofstream fout(e:比赛赛事.dat,ios:app);char ch;Message c;docout请分别输入参赛运发动姓名、比赛名称、比赛成绩、比赛名次.c.aventc.scorec.ca;c.next=NULL; fout.write(char *)&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

32、(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您正在进展修改比赛赛事有关事项操作!endl;creat3(); Message *p1; p1=head7;cout请输入参赛运发动姓名及参赛工程名称! nainfo;while(p1!=NULL) if(p1-name=na)&(p1-avent=info) sign=1;break; p1= p1-next;

33、if (sign=0) cout没有找到要修改的记录!endl; elsecout请选择要修改比赛赛事的哪些信息endl;cout-修改参赛运发动的姓名-1endl;cout-修改比赛工程的名称-2endl;cout-修改比赛成绩-3endl;cout-修改比赛名次-4endl;cout请输入对应信息的编号a;switch(a)case 1:cout请输入新的参赛运发动姓名:info; strcpy(p1-name,info); cout参赛运发动姓名修改成功!endl; break;case 2:cout请输入新的比赛工程名称:info; strcpy(p1-avent,info); cou

34、t比赛工程名称修改成功!endl; break;case 3:cout请输入新的比赛成绩:nu;p1-score=nu;cout比赛工程成绩修改成功!endl; break;case 4:cout请输入新的比赛名次:nu;p1-ca=nu;cout比赛名次修改成功!next; fout.close();return 0;int delete3() /比照赛赛事相关信息进展删除 creat3(); Message *p1,*p2; p2=p1=head7; cout请输入要删除的参赛运发动姓名及比赛工程名称:nainfo; while(p1!=NULL) if(p1-name=na)&(p1-a

35、vent=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请分别输出比赛参赛运发动姓名、比赛工程名称、比赛成绩、比赛名次.endl;

36、 while(p1!=NULL) coutnametaventtscoretcanext; void find3() creat3(); Message *p1;p1=head7;int sign=0; /设置的标记变量cout请输入要查询的参赛运发动姓名和比赛工程名称! nainfo;while(p1!=NULL) if(p1-name=na)&(p1-avent=info) sign=1;break; p1= p1-next; if (sign=0) cout没有找到要查询的记录!endl; else coutnametaventtscoretcaendl; int find()/进展查找

37、coutendl;coutttt请输入要查询的信息:endl;couttt比赛工程信息查询请按:1endl;couttt运发动信息查询请按:2endl;couttt比赛赛事信息查询请按:3j;switch(j)case 1:find1();break;case 2:find2();break;case 3:find3();break;default:cout输入数据有误!endl; return 0;int input()coutendl;coutttt请输入要输入的信息:endl;couttt比赛工程信息输入请按:1endl;couttt运发动信息输入请按:2endl;couttt比赛赛事信

38、息输入请按:3j;switch(j)case 1:input1();break;case 2:input2();break;case 3:input3();break;default:cout输入数据有误!endl; return 0;int print()coutendl;coutttt请输入要显示输出的信息:endl;couttt比赛工程信息显示输出请按:1endl;couttt运发动信息显示输出请按:2endl;couttt比赛赛事信息显示输出请按:3j;switch(j)case 1:print1();break;case 2:print2();break;case 3:print3(

39、);break;default:cout输入数据有误!endl; return 0;int change()coutendl;coutttt请输入要修改的信息:endl;couttt比赛工程信息修改请按:1endl;couttt运发动信息修改请按:2endl;couttt比赛赛事信息修改请按:3j;switch(j)case 1:change1();break;case 2:change2();break;case 3:change3();break;default:cout输入数据有误!endl; return 0;int deleted()coutendl;coutttt请输入要删除的信息:endl;couttt比赛工程信息删除请按:1endl;couttt运发动信息删除请按:2endl;couttt比赛赛事信息删除请按:3j;switch(j)case 1:delete1();break;case 2:delete2();break;case 3:delete3();brea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论