ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:381.75KB ,
资源ID:8181818      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8181818.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(运动会分数统计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

运动会分数统计.docx

1、运动会分数统计数据结构与算法课程设计课题名称:运动会分数统计 院 系:计算机科学与信息工程学院 小组成员:201103030015常云哲201103030041付朝阳201103030044 朱光阳201103030046 邵军帅201103030080彭建伟201103030086林文超 指导老师: 冯贺运动会分数统计目录摘 要 11绪论 12系统分析 22.1 功能需求 22.2数据需求 22.3 性能需求 23总体设计 23.1系统设计方案 23.2功能模块设计 34详细设计 44.1 数据结构定义 44.2比赛成绩输入模块 54.3比赛成绩输出 74.4查询比赛成绩模块 94.5调用统

2、计结果模块 115调试与测试 135.1 调试 135.2 测试 136结论 16结束语 16参考文献 16附录1用户手册 18附录2源程序 24摘 要 为了发展体育事业,强健中华儿女,便于运动会分数统计特此开发运动会分数统计程序。本程序的主要运用了C语言开发。系统主要实现了比赛成绩输入、比赛成绩输出、查询比赛成绩和调用统计结果。报告从系统分析,总体设计,详细设计,调试与测试方面进行描述和介绍。关键词:学校编号;项目编号;男团总分;女团总分1绪论随着社会的进步,体育事业发展,为了提高运动会成绩统计准确,减少设计者们的工作量,开发了本系统。根据课程设计任务书要求,本系统开发主要完成以下功能和性能

3、。内容:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,nn时输出错误:这个学校没有参加此次运动会! 否则,输入项目编号,如果jm+w|j=0,输出此次运动会没有这个项目。否则,使用for循环输出相关数据,从而实现查询功能。4.5调用统计结果模块调用统计模块从文件中读取数据输出,流程图如图5所示。 图5调用统计结果模块流程图 此模块定义了FILE *report; int i,

4、j,k,s; for循环中套用for循环,for循环分别对学校编号、学校总分、男团总分、女团总分进行输出,在使用for循环对各学校的项目编号、所取名次数量、各个名次输出,实现对文件中的数据的调用。5调试与测试5.1 调试调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到的主要问题、原因和解决方法如下面介绍。调试过程中出现的问题和处理方式:(1) 程序出现语法错误发现是输入名次信息的地方忘带地址符&。 添加取地址符。 printf(*名次:); scanf(%d,&hi.cj.ranges);(2)在输出模块不能将全部的学校信息输出,属于算法编

5、写错误,正确的程序应该为:if(hrememberi.mscorehj.mscore) k=rememberi;rememberi=rememberj;rememberj=k;5.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,

6、然而付出了过高的代价。测试数据过程如下。(1) 输入功能测试输入数据1:1 1 1 3 3 1 2 3 2 3 2 2 3 2 1 3 2 1 3 2 3 3 1 2 3预期结果:学校编号:1学校总分:15男团总分:10女团总分:5项目编号:1所取名次数:3名次:1名次:2名次:3分数:5分数:3分数:2项目编号:2所取名次数:3名次:2名次:3分数:3分数:2学校编号:2学校总分:17男团总分:7女团总分:10项目编号:1所取名次数:3名次:1名次:3分数:5分数:2项目编号:2所取名次数:3名次:1名次:2名次:3分数:5分数:3分数:2运行结果:学校编号:1学校总分:15男团总分:10女

7、团总分:5项目编号:1所取名次数:3名次:1名次:2名次:3分数:5分数:3分数:2项目编号:2所取名次数:3名次:2名次:3分数:3分数:2学校编号:2学校总分:17男团总分:7女团总分:10项目编号:1所取名次数:3名次:1名次:3分数:5分数:2项目编号:2所取名次数:3名次:1名次:2名次:3分数:5分数:3分数:2按照要求输入的数据能够显示正确的结果。6结论课程设计顺利完成,任务书中所提出的要求全部实现不过这个程序还有些不够完善,例如:输入学校各舒适与现在宏定义中确定的,不能改变,有待进一步完善。结束语因为在理论学习中没有好好的掌握,现在要独立完成一个较复杂的程序编写,确实有困难。今

8、后我必需扎实基础理论、认真思考,而且要践行我的承诺,一步一个脚印的走下去,才可以达到我们预期的彼岸!仔细回顾数据结构的学习过程,发现其实他也并不是想象中的那么难。只要肯去攀登!参考文献1 谭浩强.C语言程序设计(第三版).清华大学出版社,20072 姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,20083 吴伟民,严蔚敏.数据结构.清华大学出版社,20084 李廉治,姜文清,郭福顺.数据结构.大连理工大学出版社,1989年5 网上相关资料附录1用户手册(1)首先运行文件运动会统计分数7.exe:如图6所示:图6运行运动会分数统计界面(2) 输入信息:程序首先赋初值,定义学校的个数为2,

9、男生项目为1,女生项目为1。输入1得到进入输入信息模块。如图7所示:图7输入学校运动会分数界面按回车键可得到学校的得分信息和按编号获得的所以信息。(3)输出信息输入2进入输出信息模块,该模块分四项: 如图8所示:图8输出运动会分数界面1 按学校编号输出: 如图9所示: 图9按学校编号输出分数界面2 按学校总分输出:如图10所示:图9按学校总分输出分数界面3 按男团总分输出:如图11所示:图11按学校编号男团总分输出分数界面4 按女团总分输出:如图12所示:图12按女团总分输出分数界面5 输入2返回输出信息模块,输入0返回主菜单。(4)查询信息:如图13所示:输入3进入信息查询模块: 图13查询

10、界面1 按学校编号查询:如图14所示:图14按学校编号查询界面2 按项目编号查询:如图15所示:图15按项目编号查询界面3 输入错误信息时给出提示:如图16、17所示:图16错误提示界面图17错误提示界面4 输入2继续查询,输入0返回主菜单(5) 调用信息输入4时显示出所有的信息:如图18、19所示:图18调用信息界面图19调用信息界面附录2源程序#include#include#include #include #define n 2/学校数目 #define m 1/男子项目数目 #define w 1/女子项目数目#define null 0typedef struct int item

11、num; /项目编号 int top; /取名次的数目 int range5; /名次 int mark5; /分数itemnode; /定义项目结点的类型typedef struct int schoolnum; /学校编号 int score; /学校总分 int mscore; /男团体总分 int wscore; /女团体总分 itemnode cm+w; /项目数组headnode;/定义头结点类型headnode hn;/定义一个头结点数组void inputinformation() /输入信息,建立系统 int i,j,k,s; for(i=0;in;i+) hi.score=

12、0; hi.mscore=0; hi.wscore=0; /初始化头结点 for(i=0;in;i+) printf(*学校编号:); scanf(%d,&hi.schoolnum); /输入头结点信息 for(j=0;jm+w;j+) printf(*项目编号:); scanf(%d,&hi.cj.itemnum); printf(*取前3名or前5名:); scanf(%d,&hi.cj.top); printf(*获得几个名次:); scanf(%d,&k); /输入项目信息 for(s=0;s5;s+) hi.cj.ranges=0, hi.cj.marks=0; /初始化排名和分数

13、for(s=0;sk;s+) printf(*名次:); scanf(%d,&hi.cj.ranges); /输入所获名次信息 if(hi.cj.top=3) switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=5; break; case 2: hi.cj.marks=3; break; case 3: hi.cj.marks=2; break; else switch(hi.cj.ranges) case 0: hi.cj.marks=0; break; case 1: hi.cj.marks=7;

14、break; case 2: hi.cj.marks=5; break; case 3: hi.cj.marks=3; break; case 4: hi.cj.marks=2; break; case 5: hi.cj.marks=1; break; hi.score=hi.score+hi.cj.marks;/按取前三名还是取前五名分别记分 if(j=m-1) hi.mscore=hi.mscore+hi.cj.marks;/是男子项目则记到男子分数里面去 else hi.wscore=hi.wscore+hi.cj.marks;/是女子项目则记到女子项目里面去 printf(n); vo

15、id output() /输出函数 int choice,i,j,k; int remembern; int sign; do printf(*1.按学校编号输出.*n); printf(*2.按学校总分输出.*n); printf(*3.按男团总分输出.*n); printf(*4.按女团总分输出.*n); printf(nn* 请选择编号*nn:); scanf(%d,&choice); switch(choice) case 1: for(i=0;in;i+) printf(nn*学校编号:%dn,hi.schoolnum); printf(*学校总分:%dn ,hi.score); p

16、rintf(*男团总分:%dn,hi.mscore); printf(*女团总分: %dnnn,hi.wscore); /按编号顺序输出 break; case 2: for(i=0;in;i+) rememberi=i; for(i=0;in;i+) for(j=i+1;jn;j+) if(hrememberi.scorehj.score) k=rememberi;rememberi=rememberj,rememberj=k; / 用冒泡排序方法,用辅助数组记住头结点下标 for(i=0;in;i+) printf(“nn*学校编号:%dn”,hrememberi.schoolnum);

17、printf(*学校总分:%dn ,hrememberi.score); printf(*男团总分:%dn,hrememberi.mscore); printf(*女团总分: %dnnn,hrememberi.wscore);/按所记下标顺序输出 /按学校总分输出 break; case 3: for(i=0;in;i+) rememberi=i; for(i=0;in;i+) for(j=i+1;jn;j+) if(hrememberi.mscorehj.mscore) k=rememberi;rememberi=rememberj;rememberj=k; for(i=0;in;i+) p

18、rintf(nn*学校编号:%dn,hrememberi.schoolnum); printf(*学校总分:%dn ,hrememberi.score); printf(*男团总分:%dn,hrememberi.mscore); printf(*女团总分: %dnnn,hrememberi.wscore); /按男团总分输出 break; case 4: for(i=0;in;i+) rememberi=i; for(i=0;in;i+) for(j=i+1;jn;j+) if(hrememberi.wscorehj.wscore) k=rememberi;rememberi=rememberj;rememberj=k; for(i=0;in) printf(错误:这个学校没有参加此次运动会!nnn); else printf(要查询的项目编号:); scanf(%d,&j); if(jm+w|j=0) printf(此次运动会没有这个项目nnn);/学校编号超出范围,则输出警告 else printf(这个项目取前 %d名,该学校的成绩如下:n, h0.cj-1.top); for(k=0;k5;k+)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1