运动会分数统计系统

上传人:daj****de2 文档编号:168285002 上传时间:2022-11-08 格式:DOCX 页数:18 大小:122.49KB
收藏 版权申诉 举报 下载
运动会分数统计系统_第1页
第1页 / 共18页
运动会分数统计系统_第2页
第2页 / 共18页
运动会分数统计系统_第3页
第3页 / 共18页
资源描述:

《运动会分数统计系统》由会员分享,可在线阅读,更多相关《运动会分数统计系统(18页珍藏版)》请在装配图网上搜索。

1、数据结构课程设计运动会分数统计东华大学信息科学与技术学院班级:电气0910班姓名:周涛涛学号:090901017一 需求分析1问题描述运动会分数统计参加运动会有n个学校,学校编号为1no比赛分成m个男子项目,和w 个女子项目。项目编号为男子1m,女子m+lm+w。不同的项目取前五名或 前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、 3、厶 哪些项目取前五名或前三名由学生自己设定。(m=20,ii=20)2. 基本要求:1)可以输入各个项目的前三劣或前五名的成绩;2)能统计各学校总分;3)可以按学校编号、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某

2、个项目的情况;5)可以按项目编号查询取得前三或前五名的学校。3. 测试数据1)首先进入成绩录入界面,先输入学校编号1,再输入学校1各个项目成 绩0或1 CO表示没获得该项目的该名次,1表示获得了该项目的该名次); 然后再输入第二个学校编号2,再输入成绩;当输入其他的学校编号和成绩会提 示错误输入,重新输入。2)然后进入总目录,输入:1统计各学校总分并输出;3)输入:2按学校编号排序输出;4)输入:3按学校总分排序输出;5)输入:4按男团体总分排序输出;6)输入5按女团体总分排序输出;7)输入:6按学校编号查询学校某个项目情况;8)输入:7按项目编号查询取得名次的学校;9)输入:0退出系统;10

3、)输入其他数据会提示错误输入,重新输入。二、概要设计1结构体运动项目 项目编号;名次;;学校 学校编号;项目;团体总分;男团体总分;女团体总分;: 2主程序(main)包括登陆欢迎程序,分数录入程序,查询程序,退出程序3程序模块机之间的调用关系流程图三、详细设计K宏定义:#define N 2#define bm 4#define gm 32、数据类型定义(1)运动项目的定义:struct matchint matchnum;int rank3;matbm+gm;(2)学校的定义:struct schoolint schoolnum;struct match matbm+gm;int tota

4、l;int boy total;schN;3、函数之间的调用关系input system totaljisua xunhuan huanyingniint girltotal;main4、算法设计主要算法的设计思想:本程序主要是使用顺序表來实现操作。一个运动会包括运动项目和参加运动会的 学校。因此构造顺序表match,schoolo为了操作的方便,设计了一个总目录, 选择相应序号进入各个操作,并有错误提示,每完成一个操作程序会提示选 择返回目录或退出程序,对于总分的排序使用了冒泡排序。为了使整个程序 界面看起來更加惬意,乂添加了背景和字体颜色设置的程序语句。每个操作 前都有操作指南,易于使用。

5、四、调试分析1、由于刚开始程序比较简单,虽能运行,但处理错误的能力很低,后来经过反 复的添加修改,使程序能处理了错误,提高了健壮性。2、开始编时由于不太规范,编译出错后由于程序长,很难找到错误,后來规范 了格式,错误容易找到了,以后编程要规范。3、算法的时空分析线性表使用的是顺序结构,各种算法的时间复杂度相对比较合理4、本程序相对來说比较容易看明白,其中涉及到的一些函数相对來说比较容易。 通过调试,运行,基本上达到了要求,但还存在一些缺点。如:不够人性化等。五、测试结果数据输入(输入成绩如图)wwwA A/A#iAJAAAAAAAAAAAAAAA.AAA/KA Ayyy欢迎使用运动会分数统计系

6、统wwwA A/A#iAJAAAAAAAAAAAAAAA.AAA/KA Ayyy K K KXXX输入成绩 I*葺校编粵为12;项目编号为i7 -4为男子项,5-7为女子项目.2-成绩只能是俗或丈C智 表示没获得该项目的该名次,V表示获得了该项目的该名次以b濯前进。)W各签签W签各签 * 刃 * 4刃 F 目123F0II12lpolp .BS.S 一 fe I 4咅于 7IJ/名名名 二二三 返回目录;2:返回上一级。(9)如果输入提示外的数字,例如输入:4 则输出错误提示:# 0;退岀;1=返回目录;2;返回上一级。懑黨节貝議是0或丄或M ,请重新输入,(10)输入:0 输出:*用 I*谢

7、谢使用!*弋、用户手册1、运行环境Windows,VC+6.02、用户界面东华大学信息科学与技术学院电气刖使班 周涛涛欢迎使用运动会分数统计系统KMyA AAA 八 AAAAA 八 AAAAA 八 A.AAAAAA.AAA 人買* 買 只K只K料#辑入说竖:军狡编帛为1-2;项目编号为-74为男子项目,5为女子项目.2 成绩只能是甸或T(0表示没获得该项目的该名次,i表示获得了该项目的该名次.以,T,犍前进。)*请输入学校编号:*系统目录*12345670目学 项倒 个次 出出某名 出出 分序序排薔询 总刀分查查 椁昇总总=巨方 学编总体体编编 团团校目 计宀Z舅慕于项岀 统套按按按整3、操作

8、过程(1)用户进入运动会分数统计系统程序欢迎界面(2)录入成绩,先输入要输入的学校编号,1或2:再输入对应学校的1-7项目的成绩(成 绩用0或1: 0表示没获得该项目的该名次,1表示获得了该项目的该名次) 当成绩录入错误时会有错误提示。(3)进入总目录,按提示,输入07中的一个数;输入:0则推出系统:输入:1统计各学校总分并输出;然后选择0或T0表示退出系统,T 表示返回总目录);输入:2按学校编号排序输出;然后选择0或T0表示退出系统,T表 示返回总目录);输入:3按学校总分排序输出;然后选择0或T0表示退出系统,T表 示返回总目录);输入:4按男团体总分排序输出;然后选择0或T0表示退出系

9、统,T 表示返回总目录);输入:5按女团体总分排序输出;然后选择0或T0表示退出系统,T 表示返回总目录);输入:6按学校编号查询学校某个项目编号;选择学校编号1或2;然后选择项目编 号1-7;输出项目成绩;然后选择0或1或20表示退出系统,1表示返回总目录, 2表示返回上一级);输入:7按项目编号查询取得名次的学校;选择项目编号1-7:输出成绩:然后选择0或1或2 CO表示退出系统,T表示返回总目录2表示返回上一级);七、参考文献(1)C程序设计(第三版)谭浩强著清华大学出版社(2)数据结构(C语言版)作者:严蔚敏,吴伟民出版社:清华大学岀版社(3)数据结构题集(C语言版)作者:严蔚敏,吴伟

10、民出版社:清华人学出版社八、附录1、源程序#includencludep:rocess hdefine N 2学校个数itdefine bm 4男团体个数itdefine gm 3/女团体个数void xuanzeO ;void xunhuan ();struct match/项目int matchnum;int rank3;matbm+gm;struct school/学校int schoolnum;struct match matbm+gm;int total:int boytotal:int girltotal: schN;void huanyingni ()/*开始界面,欢迎使用*/p

11、rintf (nn东华大学信息科学与技术学院电气0910班 周涛涛nnn3 ;printf (t* 二二二二二二二二二 二 _*nn); printf (“欢迎使用运动会分数统计系统nn);printfT T 二 二 二 *二工T 二 二 二 l、*nn );void input ()/输入成绩int i, j, k;for (i二0; iN; i+)初始化分数 schi. total=0;schi. boytotal二0;schi. girltotal=0;for(k=0;kbm+gm;k+)schi. matk. rank0二0;schi. matk. rankl=0;schi. matk

12、. rank2=0; schi. matk. matchnum二k+1;prin tf (* *输入成绩 *n);printf (“#输入说明:n);printf (“ 1.学校编号为1%d;项目编号为1%d (l-%d为男子项目,d-%d为女 子项目).n, bm+gm, bm, bm+1, bm+gm);printf(2.成绩只能是O或I n( O表示没获得该项目的该名次,T 表示获得了该项目的该名次以Tab键前进。)n,N);for(i=0;iN;i+)printf (*请输入学校编号:“);loop3:scanf(”d, &schi. schoolnum);if(schi. schoo

13、lnumN)printf C输入错误(只能是l-%d)请重新输入:,N);goto loop3;printf (“项目编号);for(k二0;kbm+gm;k+)printf(%d ”,schi. matk. matchnum);printf (*W);for(j=0;j3;j+)loop: printf C第(%1)名:,j+1);for(k=0;kbm+gm;k+)scanfC %d, &schi. matkJ. rankj);for(k=0;kbm+gm;k+)if(schtij. matk. ranktj!=0&schi. matkJ. rankj!=1)printff输入错误,请重新

14、输入,成绩只能是0或1 ); goto loop;void totaljisuanOint i, k, b;for(i=0;iN;i+)for(k=0, b=0:kbm+gm:k+)b=schZiZ matk rankl0*5+schi matk rankl*3+schli matk rank2J*2;schi total=schi total+b; if(k=bm)schi girltotal=schi girltotal+b;void mulu() printf (nn*系统目录*n);目录printf Ctt*1.统计各学校总分*t n)printf Ctt*2.按学校编号排序输出*t

15、n)printf Ctt*3.按学校总分排序输出*t n)printf Ctt*4.按男团体总分排序输出*t n)printf Ctt*5.按女团体总分排序输出*t n)printf Ctt*6按学校编号查询学校某个项目情况*t )printf Ctt*7.按项目编号查询取得名次的学校*t )printf Ctt*0 退出*t )printf Ctt7/ 7,7/ 7/ 7,7/ 7,7/ 7,7/ 7/ i 9Tw 9Tw Tw Tw TwW Tw Tw Tw 9Tw TwTwy I printf(tt7/ 7,7/ 7/ 7,7/ 7,7/ 7,7/ 7/ i Tw Tw9Tw 9Tw |

16、W Tw Tw TwW Tw Tw Tw 9Tw TwTw |W y I void functO()printf (z/ntt* printf (z/ntt* exit(O);退出系统谢谢使用! *細*);谢谢使用! *細*);void functl () int i, q;printff统计各学校总分*统计各学校总分*);printf C*学校编号*tttt*总分*n);for(i=0;iN;i+)printf (,/t%dtttt%dn, schi. schoolnum, schi. total); printf(n);printf(n);printf(#0:退ilh 1:返回目录。n);

17、printf r* 请选择:);loop2:scanf(“%d, &q);if (q=0) functOO ;if (q=l) xunhuan():else printf f输入错误(只能是0或1),请重新输入:); goto loop2;void funct2()按学校编号排序struct school schl;int i, j, q;for (j 二0; jNT ; j+)for (i二0; isch li+1. school num)schl二schi;schi二schi+l; schi+l二schl;printf (*按学校编号排序*K*n);printf C*学校编号总分*n);f

18、or(i=0;iN;i+)printf (,/t%dtttt%dn, schi. schoolnum, schi. total); printf(n);printf(n);printf(#0:退出;1:返回目录。n);printf请选择:);loop2: scanf(%d,&q);if (q=0) functOO ;if (q=l) xunhuan():else printf f输入错误(只能是0或1),请重新输入:); goto loop2;void funct3()按学校总分排序struct school schl;int i, j, q;for (j 二0; jNT ; j+)for (

19、i二0: iN-jl; i+)if (schi. totalschi+l. total)schl二schi;schi二schi+l;schi+l二schl;printf (z,*按学校总分排序*叭n);printf C*学校编号总分*n);for(i=0;iN;i+)printf (,t%dtttt%dn, schi. schoolnum, schi. total); printffn*); printf fn*);printf(#0:退出;1:返回目录。n);printf (* 请选择:);loop2: scanf(%d,&q);if (q=0) functOO ;if (q=l) xunh

20、uan():else printf f输入错误(只能是0或1),请重新输入:);goto loop2;void funct4()/按男团体总分排序struct school schl;int i, j, q;for (j二0; jNT ; j+)for (i二0: iN-jl; i+)if (schi. boytotalK*n);printf (z,*学校编号*tt*总分*n);for(i=0;iN;i+)printf (,t%dtttt%dn, schi. schoolnum, schi. boytotal); printf(n);printf(n);printf(#0:退出;1:返回目录。

21、n);printf (* 请选择:);Ioop2: scanf(%d, &q);if (q=0) functO():if (q=l) xunhuan():else printff输入错误(只能是0或1),请重新输入:);goto loop2;void funct5()按女团体总分排序struct school schl:int i, j, q;for (j 二0; jNT ; j+)for (i二0; iN-jl; i+)if (schi. girltotalK*n);printf (*学校编号*tt*总分*n);for(i=0;iK*n);loopl: printf (*请输入所要查询的学校

22、编号:”);scanf&n);if(n!=l&n!=2)printf(!输入错误,学校编号只能是“0”或“ 1 ”,请重新输入! ! ! !);goto loopl;printf (,?*请输入所要查询的项目编号:”);scanf(%d, &m);for(i=0;iK*n);loopl: printf(*请输入所要查询的项目编号:“);scanf(%d, &t);printf C项目编号:%dn,z, t);for(i=0;iN;i+)if (schi. matt-l. rank0=l)printf C获得第一名的学校编号是:%d n, schi. schoolnum);if (schi. m

23、att-l. rankl=l)printf C获得第二名的学校编号是:%d n, schi. schoolnum);if (schi mat t-1 rank2=l) printf C获得第三名的学校编号是:%d n, schi. schoolnum);printf(n);printf(n);printf (# 0:退ill: 1:返回日录;2:返回上一级。n); printf (* 请选择:);loop2: scanf&q);if (q=l) xunhuan ();if (q=0) funct0():if(q=2) goto loopl:else printfr输入错误(只能是0或1或2),

24、请重新输入:); goto loop2;void xunhuan ()/返回目录int t;mulu();printf Cztt 请选择(输入 07)序号:t);scanf&t);while(t!=0&t!=l&t!=2&t!=3&t!=4&t!二5&t!二6&t!二7)printf(z/输入有误,请重新选择:);scanf&t);switch(t)case 0:funct0():break;case 1:funct1();break;case 2:funct2():break;case 3:funct3():break;case 4:funct4():break;case 5:funct5():break;case 6:funct6():break;case 7:funct7():break;void main()system (Color le) ;/改变背景,前景色huanyingni ();input ();totaljisuanO ; xunhuanO ;九、课程设计体会本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅 限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。学习的路很 长。再有要多问,儿个人共同讨论会有意想不到的效果

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!