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

下载本文档

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

文档简介

1、 NANCHANG UNIVERSITY 课 程 设 计 报 告 课程名称: 计算机技术综合课程设计 题 目: 运动会分数统计 学 院: 系: 专 业: 班 级: 学 号: 学生姓名: 时 间: 摘要 在运动会分数统计中,人工统计的速度慢,而且容易出错。本系统很好的解决这个问题,能快速,准确,智能得出你所要的结果。本程序主要是对离散的数据进行读取,定义三个结构休sportsman,project ,school.先进行分数录入,创建几个school结构休对象,school定义一个project运动项目,每个运动项目中,有sportsman。本系统实现两个功能: 产生各学校的成绩单,内容包括各校

2、所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。 关键字: 分数录入,排序,统计 目 录一、问题描述- 1 -二、分析与设计1 2.1 问题分析.1 2.2 问题简化.1 2.3 概要设计.1 2.4函数之间调用关系.3 2.5 功能描述.,.3 2.6 测试数据、运行界面及结果.33、 源代码选摘.7四、总结.13五、参考文献.13一、问题描述 参加运动会的n个学校编号为1n,比赛分成m个男子项目和w个女子项目,项目 编号分别为1m和m+1m+w。由于各项目的参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2

3、,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。基本要求产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。二、分析与设计 2.1 问题分析1) 首先得生成一份参加运动会学校,分别对应的项目,人数,运动员名字,成绩等报表;2) 再对个学校,运动项目进行编号处理;3) 要产生基本要求 的功能,难度在于名次成绩的排列;4) 要产生基本要求 的功能,根据问题要求男子项目取前五,女子项目取前三,可错用 基本要求 部分代实现,但前几名的得分不一样,必须男女分开计

4、算,再总和得出总的团体得分。2.2 问题简化1) 制作运动会报表时,对学校、运动项目进行编号,每个学校只能参加一个项目,定义的报表中有,学校编号,项目编号,对映的运动员信息,成绩;2) 排序问题,根据每个项目对应不同学校的运动员成绩来排名;3) 根据2)中得到排名,找到相对应的分数,从而得出团体总分。2.3 概要设计2.3.1 定义结构休 运动员姓名,成绩;运动项目 项目编号,运动员,名次;学校学校编号,项目,团体得分,男子团体得分,女子团体得分;2.3.2 主程序(main) 包括分数录入程序,排序方法,主目录;2.3.3 程序之间的关系 程序设计流程图 开始输入项目成绩是否返回主目录 显示

5、主目录输出个学校男子团体,女子团体及团体总分输出各学校各项名次,成绩,运动员姓名 各学校的成绩单团体总分报表退出结束2.4 函数之间的调用关系 Maincataloguesortinputmenufuct2fuct1fuct0sumprojectScores2.5功能描述 本次主要实现两个功能:产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;对应的fuct1函数。产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分,对应的fuct2函数。2.6 测试数据、运行界面图及结果 2.6.1 测试数据1)首先进入成绩录入界面,先输入学校编号1,再输入

6、学校1各个项目运动员名字、成绩010(0表示没用参加该项目,满分为十分);然后再输入第二个学校编号2,再输入运动员名字、成绩;当输入其他的学校编号和成绩会提示错误输入,重新输入。 2)然后进入总目录, 输入 :1 各学校成绩单; 输入:2 团体总分报表; 输入:0 退出; 3)输入其他数据会提示错误输入,重新输入。2.6.2 运行界面图及结果数据输入 学号编号1-5;项目有1-7(1-4为男子项目,5-7女子项目) 学号编号只能在1-5,输入别的数子提示错误; 成绩设定在010之间,输入别的数子提示错误; 成绩报告单:输入:请输入学校编号:1运动员及项目编号:1234567运动员及项目编号:

7、A1 2 A2 3 A3 6 A4 7 A5 5 A6 6 A7 7请输入学校编号:2运动员及项目编号:1234567运动员及项目编号: B1 7 B2 5 B3 8 B4 3 B5 4 B6 7 B7 4请输入学校编号:3运动员及项目编号:1234567运动员及项目编号: C1 8 C2 4 C3 7 C4 2 C5 6 C6 6 C7 3请输入学校编号:4运动员及项目编号:1234567运动员及项目编号: D1 3 D2 6 D3 2 D4 8 D5 0 D6 0 D7 0请输入学校编号:5运动员及项目编号:1234567运动员及项目编号: E1 10 E2 7 E3 3 E4 4 E5

8、0 E6 0 E7 0 目录:1.各学校的成绩单 2.团体总分报表 0.退出 请选择(输入0-2)序号:1时,进入各学校的成绩单,显示各学校,参加的项目号、名次(成绩) 、姓名、得分判断是否继续 选择1,返回目录 选择序号2,团体总分报表,输出校号、男子团体总分、女子团体总分、团体总分三、源代码选摘 程序源代码 SportsScores.h void input(); void sort(); void catalogue() ; SportsScores.cpp #include #include#define N 5 /学校个数#define bm 4 /男子团体项目个数#define g

9、m 3 /女子团体项目个数struct sportsman char sportsname10;int scores;sports;struct project /项目int projectnum;struct sportsman sports;int rank; /名次matbm+gm;struct school /学校int schoolnum;struct project matbm+gm;int total; /总得分int boytotal; /男子团体int girltotal; /女子团体schN;void catalogue(); /输入成绩void input() int i

10、,j,k;for(i=0;iN;i+) /初始化schi.total=0;schi.boytotal=0;schi.girltotal=0;for(int k=0;kbm+gm;k+)schi.matk. projectnum=k+1;schi.matk.rank =0;printf(*输入成绩*n); printf(#输入说明:n); printf( 1.学校编号为1-%d; 项目编号为1-%d (1-%d为男子项目,%d-%d为女子项目).n,N,bm+gm,bm,bm+1,bm+gm); printf( 2. 成绩只能是010之间n(0表括示没有参加本项目,分数相同并列,.以”Tab”键

11、前进?)n);for(i=0;iN;i+) printf(*请输入学校编号: );lop:scanf(%d,&schi.schoolnum); if(schi.schoolnumN) printf(输入错误(只能是1-%d)请重新输入:,N); goto lop; loop: printf(运动员名字及项目成绩 ); for(k=0;kbm+gm;k+) printf(t%d,schi.matk. projectnum); printf(n); printf(输入运动员及项目成绩:); for(k=0;kbm+gm;k+) scanf(%s,&schi.matk.sports.sportsna

12、me ); scanf(%d,&schi.matk.sports.scores ); for(k=0;kbm+gm;k+) if(schi.matk.sports.scores10) printf(输入错误,请重新输入,成绩只能是在010之间n); goto loop; printf( 数据导入成功!可进行操作n); /各项名次排序void sort() int a; for(int j=0;jbm+gm;j+) for(int i=0;iN;i+) int b=0;a=schi.matj.sports.scores ; for(int k=0;kschk.matj.sports.scores

13、) b+; schi.matj.rank=N-b; /男子项目取前五名,得分顺序为7,5,3,2,1;女子项目只取前三名,得分顺3序为5,3,2。int projectScores(int rank,bool flag) /flag等于0是男子项,1是女子项;int sum=0;if(flag)switch(rank) case 1:sum=5;break; case 2:sum=3;break; case 3:sum=2;break; else switch(rank) case 1:sum=7;break; case 2:sum=5;break; case 3:sum=3;break; c

14、ase 4:sum=2;break; case 5:sum=1;break; return sum;/计算团体得分,void sum() for(int i=0;iN;i+)/计算男子的;for(int j=0;jbm;j+)schi.boytotal +=projectScores(schi.mat j.rank,0 );for(int i=0;iN;i+)/计算女子的;for(int j=0;jgm;j+)schi.girltotal +=projectScores(schi.mat j+bm.rank,1 );for(int i=0;iN;i+)/计算团体的;schi.total=sch

15、i.boytotal +schi.girltotal ; void menu()printf(nn*系统目录*n); /目录printf(tt *n);printf(tt* 1.各学校的成绩单 *t n);printf(tt* 2.团体总分报表 *t n);printf(tt* 0.退出 *t n);printf(tt *n);void funct0() /退出系统printf(ntt* 谢谢使用! *n);printf(ntt* 谢谢使用! *n);exit(0);/产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)姓名和得分;void funct1() int q;pr

16、intf(*各学校的成绩单*n); printf(学校编号t项目号t名次(成绩)t姓名t得分tn); for(int i=0;iN;i+) printf(%d,schi.schoolnum );for(int j=0;jbm+gm;j+)printf(%dt%dtt%st%dtn,jectnum,schi.matj.rank, schi.matj.sports.sportsname ,schi.matj.sports.scores );printf();printf(n);printf(# 0:退出;1:返回目录n);printf(*请选择: );loop2:scan

17、f(%d,&q);if(q=0) funct0();if(q=1) catalogue(); else printf(输入错误(只能是0或1),请重新输入:); goto loop2;/产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。void funct2() sum(); int q;printf(*团体总分报表*n); printf(校号t男子团体总分t女子团体总分t团体总分tn); for(int i=0;iN;i+) printf(%dt%dtt%dtt%dn,schi.schoolnum,schi.boytotal ,schi.girltotal ,schi.t

18、otal );printf(# 0:退出;1:返回目录n);printf(*请选择: );loop2:scanf(%d,&q);if(q=0) funct0();if(q=1) catalogue(); else printf(输入错误(只能是0或1),请重新输入:); goto loop2;void catalogue() /返回目录int t; menu(); printf(tt请选择(输入0-2)序号:t); scanf(%d,&t); while(t!=0&t!=1&t!=2&t!=3&t!=4&t!=5&t!=6&t!=7) printf(输入有误,请重新选择:); scanf(%d,&t); switch(t)case 0:funct0();break;case 1:funct1();break;case 2:funct2();break; Test.cpp #include SportsScores.h#include void main() system(Color B); input(); sor

温馨提示

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

评论

0/150

提交评论