




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省普宁市广太中学九年级上学期语文第二次阶段考试试卷(含答案)
- 2025年安全官考试及答案
- 2025年vfp考试理论试题及答案
- 城镇危房拆除方案范本
- 流动摊位 促销方案范本
- 电梯梯子维修方案范本
- 商务谈判方案范本
- 美国太阳能发电施工方案
- 河南申论考试真题及答案
- 2025年湖州吴兴区医疗卫生单位公开招聘编外工作人员30人考前自测高频考点模拟试题及答案详解(有一套)
- 国开2025年《行政领导学》形考作业1-4答案
- 广东省广州市天河执信中学2024-2025学年九年级上学期期中考试化学试卷(含答案)
- 养老护理员中级考试题库2025年(附答案)
- 2025贵州威宁自治县招聘城市社区工作者17人考试参考试题及答案解析
- 2025年南宁产业投资集团有限责任公司人员招聘笔试备考题库及答案详解(网校专用)
- 云南昆明元朔建设发展有限公司招聘笔试题库2025
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 政府机关防恐防暴演练方案范文
- GB/T 45952-2025科技馆运行评估规范
- 【教案】圆锥曲线光学性质的数学原理及应用教学设计人教A版(2019)选择性必修第一册
- 2021年12月12日河北省直机关遴选公务员笔试真题及答案解析
评论
0/150
提交评论