本科毕业论文---运动会分数统计.doc
《本科毕业论文---运动会分数统计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---运动会分数统计.doc(25页珍藏版)》请在咨信网上搜索。
1、软 件 学 院课程设计报告书课程名称 数据结构 设计题目 运动会分数统计 目 录1 设计时间.12 设计目的.13设计任务.14 设计内容 .1 4.1需求分析 .1 4.2总体设计.3 4.3详细设计.4 4.4测试与分析.8 4.4.1测试.9 4.4.2分析.9 4.5 附录.9 5 总结与展望.22 参考文献.24 1 设计时间 2012.1.2-2012.1.82 设计目的学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。3设计任务 参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,
2、女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m=20,n=20)(1)产生各院系的成绩单,内容包括各院系取得的每项成绩的项目号、名次(成绩)、姓名和得分;(2)产生团体总分报表,内容包括院系编号、男子团体总分、女子团体总分和团体总分。4 设计内容 4.1需求分析 为了简便地对运动会的报名、成绩的录入和统计,设计开发了本系统,以解决需求。当然,本系统只是一个较为简单的系统,仍然存在着一些问题,将在以后的学习中进行完善。 功能:1)可以输入各个项目的前三名或前五名的成绩;2)能
3、统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。测试数据:要求使用:1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。4.2总体设计根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,
4、其系统功能结构图如图1所示。(1)信息统计模实现信息的输入、统计、存档。(2)信息输出模块,实现信息的输出。(3)信息查询实现信息的查询。运动会分数统计系统信息查询模块信息输出模块信息统计模块 信息存档 信息输入 分数统计 函数功能表函数功能void inputinformation( )输入和统计信息函数void output( )输出信息函数void inquiry( )查询信息函数void writedata( )数据存储函数void readdata( )读入数据函数4.3详细设计(1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。/定义项目结点的类
5、型typedef struct int itemnum; /项目编号 int top; /项目取名次的数目,由用户定义3或5 int range5; /名次 int mark5; /分数itemnode;(2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总分、男团总分、女团总分、项目数组。/定义学校结点类型typedef structint schoolnum; /学校编号 int score; /学校总分 int mscore; /男团体总分 int wscore; /女团体总分 itemnode cm+w; /项目数组schoolnode;(3) 定义学校数组schoolno
6、de hn。采用数组结构有利于随机的存储和查询。定义全局标志变量int flag1、flag2,分别用以标志是否已经向系统输入了信息和标志系统中是否已经存在信息。定义文件指针FILE * report,用来指向存档的文件。功能模块: (1)信息输入及分数统计功能void inputinformation( )为输入信息及分数统计函数。在输入信息的同时进行分数的统计。可以输入各个学校各项目前三名或前五名的成绩。在输入学校的参赛项目时,结果取前三名还是前五名自己定,用一个选择语句实现。利用swith语句前三名的分数赋为5、3、2,前五名的成绩赋为7,5、3、2、1,未取得成绩则赋为0。并统计团体总
7、分,男团总分和女团总分。其主要功能代码如下: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; c
8、ase 1: hi.cj.marks=7; 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;(2)信息输出功能void output( )为输出函数。列出一个输出目录利用swich语句使函数按学校编号输出或按学校总分、男团总分、女团总分由高到低排序输出。利用辅助数组remember和冒泡排序的方法使之按分数的由高到低输出。利用循环语
9、句do while( )当输入2时返回输出目录,输入0是跳出循环返回主菜单。(3)信息查询功能void inquiry( )为查询函数。列车一个查询目录利用swich 语句使函数按学校编号或项目编号查询,输出某学校的某个项目的得分情况或某个项目的前几名的学校。再利用循环语句do while( )当输入2是返回查询目录,输入0时跳出循环返回主菜单。(5)主函数void main( )是主函数。列出主菜单,利用switch语句调用以上函数实现各个菜单的功能。想在每次查询结束想返回主菜单进行其它项时,应在main( )函数中调用其它函数时再调用main( )函数,如:switch(choice) c
10、ase 1: printf(输入信息:n);inputinformation();writedata();printf(信息已存入档案!);main(); case 2: printf(输出信息:n);if(flag1)readdata();output();main();在进入主菜单后为了确保系统中已经输入了信息,用标志标量flag1和flag2来控制循环。如果系统中没有任何信息,用户就不能选择输入或查询操作,此时会输出提示信息,并返回主菜单。直到用户输入了信息或退出系统。其实现代码如下:do printf(=欢迎使用=n); printf(nn*运动会分数统计系统*n); printf(n
11、n*1.输入信息*n); printf(*2.输出信息*n); printf(*3.查询信息*n); printf(*4.退出系统*nnn); printf(=nn); printf(*请选择要实现步骤的编号( 请确保已经输入信息! ):nn); scanf(%d,&choice); if(choice=4)break; else if(choice=1)flag1=0; else if(report=fopen(sportsdata.txt,r)!=null )flag2=0; else system(cls); printf(nnnn系统中无任何信息!nn请先输入信息!nnnn); whi
12、le(flag1 & flag2);4.4测试与分析4.4.1测试运行程序,进入系统主菜单。用户可以选择输入、输出、查询信息或退出系统,界面输入信息: 输出信息: 4.4.2分析算法的效率:总的来讲,严重影响执行速度的便是查找,查找任意一个数据,便要将其所在的结构从头至尾遍历一次,耗费大量的时间。改进设想:因大部分显示均是以学校为单位,所以将以由有关人的各种信息为集合的结构改为以由有关学校的各种信息为集合的结构。4.5 附录#include#include#include #include #define n 2/学校数目 #define m 1/男子项目数目 #define w 1/女子项目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 运动会 分数 统计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。