运动会分数统计程序_第1页
运动会分数统计程序_第2页
运动会分数统计程序_第3页
运动会分数统计程序_第4页
运动会分数统计程序_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、运动会分数统计系统设计报告院系:专业: 班级:姓名: 学号:日期:2012年5月27日星期日运动会分数统计系统一、 实验要求:某校要召开运动会,现要求开发一个学校运动会成绩统计系统,参加运动会有n个系,比赛分成m个男子项目,和w个女子项目。系信息(系编号为D01n,系名称Dname),运动员信息:(编号,姓名,性别,所属系,成绩(初值为0)项目信息:(项目编号,项目名称)功能要求:(1)生成报名表: (2)维护报名表:增加、删除、修改,(报名人数3人以下(含3人)取消该项目的比赛)(3) 登记各项比赛成绩(4) 根据预赛成绩产生预(决)赛名单(5) 计分规则:报名人数在16人以上(含16人)取

2、取前八名,前八名的积分分别为:8、7、6、5、4、3、2、1; 报名人数在8人以上(含8人)16人以下,取前五名,前五名的积分分别为:7、5、3、2、1;报名人数在8人以下,取前三名,前三名的积分分别为:5、3、2; (6)统计l 能统计各系总分,l 按系系总分、男女团体总分排序输出;按项目编号查询取得前三或前五或前八名的运动员情况。二、 设计过程: 数据结构:名称 编号 男女团体 运动项目:项目编号,名称,男子项目,女子项目,前三名,前五名,第一名系编号,第二名系编号,第三名系编号,第四名系编号,第五名系编号。院系类DnameNameNumberSexclass Dname /院系priva

3、te:char name20; int number; int boy; int girl; public: Dname *next; void Dname_add(); void Dname_output(Dname *p); int Dname_isexist(int a); void Dname_show(int a); void Dname_search(int a); void Dname_addmark(int a,int b,int c); void Dname_order(Dname *temp,int type);运动项目类;sportnamenumber排名class Sp

4、ort /运动项目private: char name20; int isboy; /0为女项目?,1为男项目 int is3; /0为取前五名,1为取前五名 int number; /项目编号 int first; / int second; / int third; / int fourth; / int fifth; /public: Sport *next; int Sport_isexist(int a); void Sport_add(); void Sport_output(Sport *p); void Sport_search(int a);三、程序编码:#include#i

5、nclude#includeusing namespace std;class Dname /院系private:char name20; int number; int boy; int girl; public: Dname *next; void Dname_add(); void Dname_output(Dname *p); int Dname_isexist(int a); void Dname_show(int a); void Dname_search(int a); void Dname_addmark(int a,int b,int c); void Dname_order

6、(Dname *temp,int type);class Sport /运?动项?目?private: char name20; int isboy; /0为女项目1为男项目? int is3; /为取前五名为取前五名? int number; /项?目?编号? int first; / int second; / int third; / int fourth; / int fifth; /public: Sport *next; int Sport_isexist(int a); void Sport_add(); void Sport_output(Sport *p); void Spo

7、rt_search(int a);Dname* head1;Sport* head2;void Dname:Dname_add() Dname* p; int mark=0; p=new Dname; coutp-name; int c; while(mark!=1) coutc; p-number=c; mark=1; p-boy=0; p-girl=0; p-next=head1-next; head1-next=p; cout成功添加了一个院系endl; cout是否还要添加院 y/n)input; switch(input) case y: mark=0; Dname_add(); c

8、ase n: mark=1; return; delete p;void Dname:Dname_output(Dname* p) /输出系coutnext;while(p)coutnamettnumbertboytgirl t girl+p-boy)next;int Dname:Dname_isexist(int a) int b=0; Dname* p; p=head1; p=p-next; while(p) if(p-number=a) return 1; p=p-next; return 0;void Dname:Dname_show(int a)/输出所有院系 Dname *p; p

9、=head1; p=p-next; while(p) if(p-number=a) coutname?next; coutnext; while(p) if(p-number=a) cout院系名称:name 男子团体总分:boy 女子团体总分:girl 总分:boy+p-girl)next; cout无T此?编号?:next; while(p) if(p-number=b) if(c=1) p-boy=p-boy+a; else p-girl=p-girl+a; p=p-next; void Dname:Dname_order(Dname *temp,int type) Dname* q,*

10、small; Dname* temp1; temp1=new Dname; temp1-next=NULL; while(q&small) switch(type) case 0: /按总分排序 for(q=head1;q=q-next;q!=NULL) for(small=head1;small=small-next;small!=NULL) if( (q-boy+q-girl)boy+small-girl) ) temp1-girl=q-girl; q-girl=small-girl; small-girl=temp1-girl; temp1-boy=q-boy; q-boy=small-

11、boy; small-boy=temp1-boy; strcpy(temp1-name,q-name); strcpy(q-name,small-name); strcpy(small-name,temp1-name); temp1-number=q-number; q-number=small-number; small-number=temp1-number; / break; case 1: /按男团体排序 for(q=head1;q=q-next;q!=NULL) for(small=head1;small=small-next;small!=NULL) if(q-boyboy) te

12、mp1-girl=q-girl; q-girl=small-girl; small-girl=temp1-girl; temp1-boy=q-boy; q-boy=small-boy; small-boy=temp1-boy; strcpy(temp1-name,q-name); strcpy(q-name,small-name); strcpy(small-name,temp1-name); temp1-number=q-number; q-number=small-number; small-number=temp1-number; / break; case 2: for(q=head1

13、;q=q-next;q!=NULL) for(small=head1;small=small-next;small!=NULL) if(q-girlgirl) temp1-girl=q-girl; q-girl=small-girl; small-girl=temp1-girl; temp1-boy=q-boy; q-boy=small-boy; small-boy=temp1-boy; strcpy(temp1-name,q-name); strcpy(q-name,small-name); strcpy(small-name,temp1-name); temp1-number=q-numb

14、er; q-number=small-number; small-number=temp1-number; / break; case 3: for(q=head1;q=q-next;q!=NULL) for(small=head1;small=small-next;small!=NULL) if(q-numbernumber) temp1-girl=q-girl; q-girl=small-girl; small-girl=temp1-girl; temp1-boy=q-boy; q-boy=small-boy; small-boy=temp1-boy; strcpy(temp1-name,

15、q-name); strcpy(q-name,small-name); strcpy(small-name,temp1-name); temp1-number=q-number; q-number=small-number; small-number=temp1-number; / break; default: couterrornumber=a) return 1; p=p-next; return 0;void Sport:Sport_add() Sport* p; / Dname sh; int mark=0; p=new Sport; coutp-name; int c; while

16、(mark!=1) coutc; if(Sport_isexist(c) coutnumber=c; mark=0; while(mark!=1) coutc; / p-isboy=(int)(c-0);/去掉?了?字?符?转a换?成数y字? mark=1; p-isboy=c; mark=0; while(mark!=1) coutc; / p-is3=(int)(c-0); mark=1; p-is3=c; mark=0; Dname sh; while(mark!=1) coutc; if(!sh.Dname_isexist(c) coutfirst=c; if(p-is3=0) sh.

17、Dname_addmark(5,c,p-isboy); else sh.Dname_addmark(7,c,p-isboy); mark=0; while(mark!=1) coutc; if(!sh.Dname_isexist(c) coutsecond=c; if(p-is3=0) sh.Dname_addmark(3,c,p-isboy); else sh.Dname_addmark(5,c,p-isboy); mark=0; while(mark!=1) coutc; if(!sh.Dname_isexist(c) coutthird=c; if(p-is3=0) sh.Dname_a

18、ddmark(2,c,p-isboy); else sh.Dname_addmark(3,c,p-isboy); mark=0; if(p-is3=1) while(mark!=1) coutc; if(!sh.Dname_isexist(c) coutfourth=c; sh.Dname_addmark(2,c,p-isboy); mark=0; while(mark!=1) cout请输入第五名院系的编号:; if(!sh.Dname_isexist(c) coutfifth=c; sh.Dname_addmark(1,c,p-isboy); else p-fourth=0; p-fift

19、h=0; p-next=head2-next; head2-next=p; cout成功添加了一个运动项目next; cout当前项目名称t编号?B/G3/5 第一名 第二名 第三名 第四名 第五名 endl; Dname sh; while(p) coutnamet number isboy is3 first); sh.Dname_show(p-second); sh.Dname_show(p-third); sh.Dname_show(p-fourth); sh.Dname_show(p-fifth); p=p-next; coutn; coutnext; while(p) if(p-n

20、umber=a) cout项目名:nameendlisboy=1) cout男子项目; else cout女子项目; coutendlfirst); coutendlsecond); coutendlthird); coutendlfourth); coutendlfifth); return; p=p-next; coutnext=NULL; head2=new Sport; head2-next=NULL; /Dname_add(); Dname sh; Sport sp; Dname* p1; Sport* p2; p1=head1; p1=p1-next; p2=head2; p2=p

21、2-next; int choose; char temp; int a=1; while(a!=0) cout endl; cout 欢迎使用运动会分数统计系统endl; cout -endl; cout endl; cout 1.输入院系; 2.输入运动项目 endl; cout 3.按院系编号输出总分; 4.按院系总分排序; endl; cout 5.按男团体总分排序; 6.按女团体总分排序; endl; cout 7.按院系编号查询; 8.按项目编号查询; endl; cout 0.退出 endl; cout 注输入运动项目之前请输入院系 endl; cout -endl; cout -请选择(0-8):- choose; switch(choose) case 1: sh.Dname_add(); break; case 2: sp.S

温馨提示

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

评论

0/150

提交评论