




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号编号华北水利水电高校NorthChinaInstituteofWaterConservancyandHydroelectricPower课程设计标题田径运动会管理信息系统学院信息工程学院专业计算机科学与技术小组成员1吴辉密(201219619)小组成员2张秋敏(201219621)小组成员3张馥雅(201219622)小组成员4张倩倩(201219623)指导教师白娟2013年12月6日华北水利水电高校软件工程课程设计报告2013~2014学年第一学期2012级计算机科学与技术专业小组成员1:吴辉密(201219619)分工:运动员信息的录入、修正、查询、显示小组成员2:张秋敏(201219621)分工:竞赛项目信息的录入、修正、查询、显示小组成员3:张馥雅(201219622)分工:需求分析、概要设计、材料的搜集等小组成员4:张倩倩(201219623)分工:竞赛成果的录入、修正、查询、显示TOC\o"1-3"\u目录摘要1一、需求分析21.1可行性分析21.2.1C/C++言语简介21.2.2开发背景31.2.3开发环境31.3系统需求分析31.4系统总体设计4二、概要设计42.1数据结构42.2程序模块5三、具体设计6四、程序代码7五、测试9六、附录12七、心得体会29参考文献30田径运动会管理系统的设计与完成摘要运动会管理是一个重要内容,随着时代的进步,参与运动会的运动员数量也不断添加、项目也越来越多、运动会举办也越来越频繁,对运动会管理要求也越来越高。如何管理好各单位、运动员的成果的信息,对运动会管理系统的要求也越来越高,所以必需求不断地更新运动会管理系统,才能满足社会日益进展的需求。本文是接受VC++6.0作为前台开发工具,旨在完成对现有的运动会管理的基础上,供应信息录入,信息删除,信息查询,信息输入等服务,在此实验报告中次要完成对存储在管理系统中的数据表进行这些简约的操作,为进步运动会管理系统的效率供应了便利。关键词:VC++6.0;运动会信息管理;第一章需求分析1.1可行性分析计算机以其弱小的功能价格优势给人们的工作、学习和生活带来极大的便利.计算机代替人工处理一些事务已成为必定。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理曾经进入自动化、网络化和社会化的阶段。如在查找材料、处理日常办公事务、科研消费等方面,无不需求利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,曾经成为人们普遍关注的课题。信息在不同的范畴里有着不同的概念,在管理科学范畴中,通常以为信息是经过加工处理后的一种数据方式,是一种有次序的符号陈列,它是系统传输和处理的对象。处在信息时代的今日,信息的作用越来越为人们所注重。制定成果方案,争辩投资策略,都离不开对信息的充分利用。在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素养越来越高。传统的运动会,普通是以人手组织为主,运动员的报名、赛事的支配、竞赛场地的支配和成果的记录等操作全都由人手操作,参与人数越多,运动会的规模就越大,管理工作就愈加费时费劲,而且简约出错。学校田径运动会管理系统则为组织者供应一个简捷便利的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,经过简约的键盘输入与鼠标点击来完成烦琐的记录与支配工作,保证运动会的正常流利的进行。学校田径运动会管理系统是典型的数据库运用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成果处理及公告,成果统计.信息查询等事务处理功能。根据学校田径运动会的普通进程,本系统分为数据修正、查询、删除、计算等四个工具模块来完成所希冀的功能。根据关系型数据库理论设计数据库的结构。运用该系统可以极大地减小工作人员的劳动量,同时还可大大进步工作效率、牢靠性和正确性。1.2开发环境和开发工具1.2.1C/C++言语简介C言语是一种计算机程序设计言语。它既具有高级言语的特点,又具有汇编言语的特点。它由美国贝尔争辩所的D.M.Ritchie于1972年推出。1978后,C言语已先后被移植到大、中、小及微型机上。它可以作为工作系统设计言语,编写系统运用程序,也可以作为运用程序设计言语,编写不依托计算机硬件的运用程序。它的运用范围广泛,具备很强的数据处理力量,不只仅是在软件开发上,而且各类科研都需求用到C言语,适于编写系统软件,三维,二维图形和动画。1.2.2开发背景随着科学技术的不断进展,计算机科学日渐成熟,其弱小的功能已为人们所深入生疏,它己进入人类社会的各个范畴并发挥着越来越重要的作用。接受计算机进行信息化管理已成为衡量企业管理科学化和古代化的重要标志,而人事管理的片面自动化、信息化则是其中重要的组成部分。人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。因此,本文所争辩的人事管理信息系统具有肯定的运用价值和理想意义。信息录入,同窗信息录入,成果录入三个模块的相关内容,最终的全体代码由两个人组合完成。1.2.3开发环境本文所接受的开发环境次要是基于C++言语在VisualC++平台上开发的系统,界面敌对,功能弱小,调试也很便利。这是微软出的一个C言语集成开发环境(IDE),次要有:VC++6.0等,分为企业版和同窗版等。对于初学者VC++6.0是比较简约上手的,但其对标准支持的不好可能使人养成不良的编程习气。1.3系统需求分析本实验中,对不同的对象实行不同的存储结构,对竞赛项目实行链式结构,而对于参赛运动员实行一个结构就可以了。本程序中次要用到线性表的一些基本操作,将竞赛项目信息,运动员信息,赛事信息都构形成线性表。具体功能经过主函数分别调用各函数完成。参考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修正函数、信息删除函数、信息查询函数,信息输入函数。信息录入函数有包括竞赛项目信息录入函数(包括竞赛编号、称号等),运动员信息录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份)、竞赛赛事信息录入函数(某运动员参与某竞赛项目,成果、名次)。信息修正函数包括竞赛项目、运动员信息、赛事信息修正。信息查询函数包括根据竞赛项目、运动员编号进行查修信息输入函数包括竞赛项目、运动员信息、赛事信息输入等。1.4系统总体设计支持输入各个项目的基本信息;可以按竞赛项目编号或称号查询、删除、修正信息。可以按运动员编号或姓名查询、删除、修正信息数据输入信息并能随时查询1.5数据流图其次章概要设计阐明本系统中用到的全部数据类型的定义及存储结构,主程序的流程以及各程序模块之间的调用关系。2.1数据结构从整个管理系统来看,我们知道这里次要有三个主体,一个是竞赛项目信息,一个是运动员,另一个是竞赛事项目信息。这三者不单单是作为简约的主体存在,他们都有很多功能,所以我们运用类和链表来定义。如下:竞赛项目的定义:classMatch{public:Match*next;//为创建链表做预备intnumber;//竞赛项目编号charcall[10];//竞赛项目称号chartime[10];//竞赛工夫charplace[20];//竞赛地点friendvoidinput1();};运动员的定义:classAthlete{public:Athlete*next;intnumber;//运动员的编号charname[10];//运动员的姓名charpart[20];//运动员所属工作单位或省份charsex[20];//运动员性别intage;//运动员年龄friendvoidinput2();};竞赛赛事项目的定义:classMessage{public:Message*next;charname[10];//运动员姓名charavent[10];//运动员参与的某竞赛项目称号intscore;//成果intca;//名次friendvoidinput3();};2.2程序模块田径运动会管理系统数据的修正数据的录入加入系统数据的修正数据的录入加入系统数据的显示数据的查询数据的删除竞赛赛事信息显示运动员信息显示竞赛项目信息显示运动员信息查询竞赛项目信息查询竞赛赛事信息查询竞赛项目信息删除竞赛赛事信息删除运动员信息删除竞赛赛事信息输入运动员信息输入竞赛项目信息输入竞赛赛事信息显示运动员信息显示竞赛项目信息显示运动员信息查询竞赛项目信息查询竞赛赛事信息查询竞赛项目信息删除竞赛赛事信息删除运动员信息删除竞赛赛事信息输入运动员信息输入竞赛项目信息输入竞赛项目信息修正竞赛项目信息修正竞赛赛事信息修正运动员信息修正竞赛赛事信息修正运动员信息修正经过对某高校运动会管理信息系统的基本功能调研和分析,各个子系统的次要功能如下:竞赛项目信息管理:次要担任竞赛项目信息的录入、修正、查询,显示竞赛项目信息;运动员注册:担任参赛运动员的注册登记,并可随时查询、打印参赛运动员信息;成果统计:用于录入、统计各项竞赛的的预、决赛成果,统计各运动员积分。本模块可以查询每个参赛运动员的成果信息,打印各种成果报表。具体设计开开始显示主菜单输当选择能否合理提示错误信息提示错误信息YYN能否为"1"能否为"1"能否为"3"NNN能否为"3"能否为"2"能否为"2"能否为"4"Y能否为"4"YYYN调用录入函数调用修正函数调用删除函数调用查询函数调用录入函数调用修正函数调用删除函数调用查询函数能否为"5"能否为"5"能否为"6"N能否为"6"YY加入系统调用显示函数加入系统调用显示函数图3-1主菜单流程图开头开头主菜单数据录入能否为1能否为2能否为3请输入竞赛项目信息请输入运动员信息请输入竞赛赛事信息YNNYYY能否连续输入YN图3-2数据的录入流程图开头开头主菜单数据查询能否为1能否为2能否为3请输入对应信息的编号请输入对应信息的编号能否为1能否为2YYNYN请输入竞赛项目的编号请输入竞赛项目的称号能否为1能否为2请输入运动员的编号请输入运动员的姓名请输入运动员的姓名和竞赛的项目YYNYYYYYN图3-3数据的查询流程图第四章程序代码竞赛项目信息录入:voidinput1(){ofstreamfout("e:\\竞赛项目.dat",ios::app);charch;Matcha;do{cout<<"请分别输入竞赛项目编号、称号、竞赛工夫、竞赛地点."<<endl;cin>>a.number>>a.call>>a.place>>a.time;a.next=NULL;fout.write((char*)&a,sizeof(Match));cout<<"能否连续输入,假如连续键入Y|y"<<endl;cin>>ch;}while(ch=='y'||ch=='Y');fout.close();}运动员信息修正:intchange2()//对运动员相关信息修正{cout<<"您正在进行修正运动员基本信息操作!"<<endl;creat2();Athlete*p1;p1=head4;cout<<"请输入要修正运动员的编号:"<<endl;intnumber1;//要修正的运动员编号intsign=0;//设置的标记变量cin>>number1;while(p1!=NULL){if(p1->number==number1){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要修正的记录!"<<endl;else{cout<<"请选择要修正运动员的哪些信息"<<endl;cout<<"修正运动员的编号1"<<endl;cout<<"修正运动员的姓名2"<<endl;cout<<"修正运动员所属工作单位或省份3"<<endl;cout<<"修正运动员性别4"<<endl;cout<<"修正运动员年龄4"<<endl;cout<<"请输入对应信息的编号"<<endl;inta;intnu;//新的整形数据charinfo[20];//新的字符数组cin>>a;switch(a){case1:cout<<"请输入新的运动员编号:"<<endl;cin>>nu;p1->number=nu;cout<<"运动员的编号修正成功!"<<endl;break;case2:cout<<"请输入新的运动员姓名:"<<endl;cin>>info;strcpy(p1->name,info);cout<<"运动员姓名修正成功!"<<endl;break;case3:cout<<"请输入新的运动员所属工作单位或省份:"<<endl;cin>>info;strcpy(p1->part,info);cout<<"运动员所属工作单位或省份修正成功!"<<endl;break;case4:cout<<"请输入新的性别:"<<endl;cin>>info;strcpy(p1->sex,info);cout<<"运动员性别修正成功!"<<endl;break;case5:cout<<"请输入新的年龄:"<<endl;cin>>nu;p1->age=nu,cout<<"运动员年龄修正成功!"<<endl;break;}ofstreamfout("e:\\运动员.dat",ios::out);p1=head4;while(p1!=NULL){fout.write((char*)p1,sizeof(Athlete));p1=p1->next;}fout.close();}return0;}竞赛赛事信息显示:voidprint3(){creat3();Message*p1=head7;cout<<"请分别输入竞赛参赛运动员姓名、竞赛项目称号、竞赛成果、竞赛名次."<<endl;while(p1!=NULL){cout<<p1->name<<'\t'<<p1->avent<<'\t'<<p1->score<<'\t'<<p1->ca<<endl;p1=p1->next;}}第五章结果与测试5.1实验结果:算法结果以截屏的方式显示出:信息录入信息修正信息删除信息查询信息输入及加入系统5.2测试5.2.1数据的录入测试表5-1竞赛项目的录入时输入称号测试用例输入预期的输入实践的输入评价竞赛项目的称号(不超过20个字节)成功,不会消灭信息的错误显示结果第正确的该功能可行竞赛项目的称号(超过20个字节)不成功,会消灭错误信息显示结果是错误的该功能不行行表5-2竞赛项目的录入时输入工夫测试用例输入预期的输入实践的输入评价竞赛工夫(不超过10个字节)成功,不会消灭信息的错误显示结果第正确的该功能可行竞赛工夫(超过10个字节)不成功,会消灭错误信息显示结果是错误的该功能不行行表5-3竞赛项目的录入时输上天点测试用例输入预期的输入实践的输入评价竞赛地点(不超过20个字节)成功,不会消灭信息的错误显示结果是正确的该功能可行竞赛地点(超过20个字节)不成功,会消灭错误信息显示结果是错误的该功能不行行表5-5运动员的录入时输入称号测试用例输入预期的输入实践的输入评价运动员名字(不超过10个字节)成功,不会消灭信息的错误显示结果是正确的该功能可行运动员名字(超过10个字节)不成功,会消灭错误信息显示结果是错误的该功能不行行表5-6运动员的录入时输入称号测试用例输入预期的输入实践的输入评价运动员单位(不超过20个字节)成功,不会消灭信息的错误显示结果是正确的该功能可行运动员单位(超过20个字节)不成功,会消灭错误信息显示结果是错误的该功能不行行5.2.1数据的删除测试表5-4运动员的删除时输入编号测试用例输入预期的输入实践的输入评价要删除的运动员的编号成功显示结果是错误的该功能不行行第六章附录源代码:#include<iostream>#include<fstream>#include<string>usingnamespacestd;voidfun1(){cout<<"******************************"<<endl;cout<<endl;cout<<"******学校运动会管理系统******"<<endl;cout<<"数据录入请按:1"<<endl;cout<<"数据修正请按:2"<<endl;cout<<"数据删除请按:3"<<endl;cout<<"数据查询请按:4"<<endl;cout<<"数据显示请按:5"<<endl;cout<<"加入系统请按:6"<<endl;cout<<endl;cout<<"*******************************"<<endl;cout<<endl;cout<<"*****请输入一个数据,并按回车键!*****"<<endl;}classMatch{public:Match*next;//为创建链表做预备intnumber;//竞赛项目编号charcall[10];//竞赛项目称号chartime[10];//竞赛工夫charplace[20];//竞赛地点friendvoidinput1();};voidinput1(){ofstreamfout("e:\\竞赛项目.dat",ios::app);charch;Matcha;do{cout<<"请分别输入竞赛项目编号、称号、竞赛工夫、竞赛地点."<<endl;cin>>a.number>>a.call>>a.place>>a.time;a.next=NULL;fout.write((char*)&a,sizeof(Match));cout<<"能否连续输入,假如连续键入Y|y"<<endl;cin>>ch;}while(ch=='y'||ch=='Y');fout.close();}Match*head1;voidcreat(){head1=NULL;Match*p,*q=head1;ifstreamfin("e:\\竞赛项目.dat",ios::in);if(!fin){cout<<"文件打开失败!"<<endl;exit(0);}p=newMatch;fin.read((char*)p,sizeof(Match));while(!fin.eof()){if(head1==NULL)head1=p;elseq->next=p;q=p;p=newMatch;fin.read((char*)p,sizeof(Match));}fin.close();}intchange1()//对竞赛项目相关信息修正{cout<<"您正在进行修正竞赛项目有关事项操作!"<<endl;creat();Match*p1;p1=head1;cout<<"请输入要修正竞赛项目的编号:"<<endl;intnumber1;//要修正的竞赛项目编号intsign=0;//设置的标记变量cin>>number1;while(p1!=NULL){if(p1->number==number1){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要修正的记录!"<<endl;else{cout<<"请选择要修正竞赛项目的那些信息"<<endl;cout<<"修正竞赛项目的编号1"<<endl;cout<<"修正竞赛项目的称号2"<<endl;cout<<"修正竞赛工夫3"<<endl;cout<<"修正竞赛地点4"<<endl;cout<<"请输入对应信息的编号"<<endl;inta;intnu;//新的整形数据charinfo[20];//新的字符数组cin>>a;switch(a){case1:cout<<"请输入新的竞赛编号:"<<endl;cin>>nu;p1->number=nu;cout<<"竞赛项目编号修正成功!"<<endl;break;case2:cout<<"请输入新的竞赛项目称号:"<<endl;cin>>info;strcpy(p1->call,info);cout<<"竞赛项目称号修正成功!"<<endl;break;case3:cout<<"请输入新的竞赛工夫:"<<endl;cin>>info;strcpy(p1->time,info);cout<<"竞赛项目工夫修正成功!"<<endl;break;case4:cout<<"请输入新的竞赛地点:"<<endl;cin>>info;strcpy(p1->place,info);cout<<"竞赛项目地点修正成功!"<<endl;break;}ofstreamfout("e:\\竞赛项目.dat",ios::out);p1=head1;while(p1!=NULL){fout.write((char*)p1,sizeof(Match));p1=p1->next;}fout.close();}return0;}intdelete1()//对竞赛项目相关信息进行删除{creat();Match*p1,*p2;p2=p1=head1;cout<<"请选择要删除竞赛项目的那些信息"<<endl;cout<<"删除竞赛项目的编号1"<<endl;cout<<"删除竞赛项目的称号2"<<endl;cout<<"请输入对应信息的编号"<<endl;intn;cin>>n;intnum,flag=0;charcal[10];switch(n){case1:cin>>num;while(p1!=NULL){if(p1->number==num){flag=1;break;}p2=p1;p1=p1->next;}if(flag==0)cout<<"没有找到要删除的记录!"<<endl;elsep2->next=p1->next;case2:cin>>cal;while(p1!=NULL){if(!strcmp(p1->call,cal)){flag=1;break;}p2=p1;p1=p1->next;}if(flag==0)cout<<"没有找到要删除的记录!"<<endl;elsep2->next=p1->next;}ofstreamfout("e:\\竞赛项目.dat",ios::out);p1=head1;while(p1!=NULL){fout.write((char*)p1,sizeof(Match));p1=p1->next;}fout.close();return0;}voidprint1(){creat();Match*p1=head1;cout<<"请分别输入竞赛项目编号、称号、竞赛工夫、竞赛地点."<<endl;while(p1!=NULL){cout<<p1->number<<'\t'<<p1->call<<'\t'<<p1->time<<'\t'<<p1->place<<endl;p1=p1->next;}}voidfind1(){creat();Match*p1;p1=head1;intsign=0;//设置的标记变量cout<<"请选择要查询竞赛项目的哪些信息"<<endl;cout<<"按竞赛项目的编号查询1"<<endl;cout<<"按竞赛项目的称号查询2"<<endl;cout<<"按竞赛工夫查询3"<<endl;cout<<"按竞赛地点查询4"<<endl;cout<<"请输入对应信息的编号"<<endl;inta;intnu;//查询整形数据条件charinfo[20];//查询字符型数据条件cin>>a;switch(a){case1:cout<<"请输入要查询的竞赛编号:"<<endl;cin>>nu;while(p1!=NULL){if(p1->number==nu){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要查询的记录!"<<endl;elsecout<<p1->number<<'\t'<<p1->call<<'\t'<<p1->time<<'\t'<<p1->place<<endl;break;case2:cout<<"请输入要查询的竞赛项目称号:"<<endl;cin>>info;while(p1!=NULL){if(p1->call==info){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要查询的记录!"<<endl;elsecout<<p1->number<<'\t'<<p1->call<<'\t'<<p1->time<<'\t'<<p1->place<<endl;break;case3:cout<<"请输入要查询的竞赛工夫:"<<endl;cin>>info;while(p1!=NULL){if(!strcmp(p1->time,info)){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要查询的记录!"<<endl;elsecout<<p1->number<<'\t'<<p1->call<<'\t'<<p1->time<<'\t'<<p1->place<<endl;break;case4:cout<<"请输入要查询的竞赛地点:"<<endl;cin>>info;while(p1!=NULL){if(!strcmp(p1->place,info)){sign=1;break;}p1=p1->next;}if(sign==0)cout<<"没有找到要查询的记录!"<<endl;elsecout<<p1->number<<'\t'<<p1->call<<'\t'<<p1->time<<'\t'<<p1->place<<endl;break;}}intfind()//进行查找{cout<<endl;cout<<"\t\t\t请输入要查询的信息:"<<endl;cout<<"\t\t竞赛项目信息查询请按:1"<<endl;cout<<"\t\t运动员信息查询请按:2"<<endl;cout<<"\t\t竞赛赛事信息查询请按:3"<<endl;intj;cin>>j;switch(j){case1:find1();break;case2:find2();break;case3:find3();break;default:cout<<"输入数据有误!"<<endl;}return0;}intinput(){cout<<endl;cout<<"\t\t\t请输入要输入的信息:"<<endl;cout<<"\t\t竞赛项目信息输入请按:1"<<endl;cout<<"\t\t运动员信息输入请按:2"<<endl;cout<<"\t\t竞赛赛事信息输入请按:3"<<endl;intj;cin>>j;switch(j){case1:input1();break;case2:input2();break;case3:input3();break;default:cout<<"输入数据有误!"<<endl;}return0;}intprint(){cout<<endl;cout<<"\t\t\t请输入要显示输入的信息:"<<endl;cout<<"\t\t竞赛项目信息显示输入请按:1"<<endl;cout<<"\t\t运动员信息显示输入请按:2"<<endl;cout<<"\t\t竞赛赛事信息显示输入请按:3"<<endl;intj;cin>>j;switch(j){case1:print1();break;case2:print2();break;case3:print3();break;default:cout<<"输入数据有误!"<<endl;}return0;}intchange(){cout<<endl;cout<<"\t\t\t请输入要修正的信息:"<<endl;cout<<"\t\t竞赛项目信息修正请按:1"<<endl;cout<<"\t\t运动员信息修正请按:2"<<endl;cout<<"\t\t竞赛赛事信息修正请按:3"<<endl;intj;cin>>j;switch(j){case1:change1();break;case2:change2();break;case3:change3();brea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论