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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

庞贝贝1104040216课设报告1运动会分数统计.docx

1、庞贝贝1104040216课设报告1运动会分数统计试验报告一课题名称:运动会分数统计班级:信管112 姓名:庞贝贝 学号:1104040216日期:2013/7/9一、需求分析1、任务参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)2、功能要求1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分;3)可以按学校编号、学校总分、男女团体总分排序输出;4)可以

2、按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。3、规定输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)4、输出形式有中文提示,各学校分数为整形5、界面要求有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。6、存储结构学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;7、程序执行的命令1) 输入所需要的各项数据2)对成绩进行排序3)查找成绩4)退出结束8、测试数据要求使用1

3、、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明二、概要设计为了实现程序需要使用串复制和线性表1、串复制StrCopy(&T,s)初始条件: 串S存在操作结果:由串复制得串T.2、线性表typedef struct LNode ElemType *elemInt lengthInt listsize;LNode,*linklist;3、本程序分为3个模块1)主程序模块void main()while(标志!=0)通过命令菜单选择执行哪项命令;输入要执行命令的编号switch(标志)case 标志:命令;break;cas

4、e 标志:命令;break;.default:命令;2)赋值模块fuzhi()for()输入学校名称;for()输入项目名称;for()输入各个项目前3名或前5名学校序号;for()统计各个学校总分,男团总分,女团总分3)排序模块void paixu1()for()按学校排序并输出void paixu2()for()按学校总分排序并输出void paixu3()for()按男团总分排序并输出void paixu4()for()按女团总分排序并输出4)查询模块void chaxun1() /按学校编号查询学校某个项目的情况用户输入学校编号以及待查项目输出该项目的排名以及成绩void chaxun

5、2() /按项目编号查询取得前3名或前5名成绩while(标志) 输出前3名成绩while(标志)输出前5名成绩各模块之间的关系如下:主程序模块momokuai赋值模块排序模块查找模块三、详细设计#include #include#include #include #define m 8 /共8个项目#define n 5 /共5个学校#define p 5 /共5个男子项目#define q 3 /共3个女子项目1、学校类型typedef struct school1char schoolname20; /学校名称Spo sportsm; /运动项目int totalscore ; /学校总

6、分int manscore ; /男团总分int womanscore ; /女团总分sch; typedef struct school2 sch schooln; *sho,shos;2、运动项目类型typedef struct sportchar sportname20; /运动项目名称int num,score ; /num 表示排名,score 登记分数Spo;3、赋值sho fuzhi() int i,j; sho l; l=new shos; cout输入n个学校的名称(编号依次为0n-1)endl; for(i=0;il-schooli.schoolname; for(j=0;

7、jp;j+) cout请输入第j+1个男子项目(编号为j)l-school0.sportsj.sportname; for(j=p;jm;j+) cout请输入第j-p+1个女子项目(编号为j)l-school0.sportsj.sportname; for(i=0;in;i+) for(j=0;jschooli.sportsj.sportname,l-school0.sportsj.sportname); for(i=0;in;i+) for(j=0;jschooli.sportsj.score=0; l-schooli.sportsj.num=0; int a,b,c,d,e; for(j

8、=0;jp;j+) cout请依次输入编号为j的男子项目前5名学校编号abcde; l-schoola.sportsj.score=7;l-schoola.sportsj.num=1; l-schoolb.sportsj.score=5;l-schoolb.sportsj.num=2; l-schoolc.sportsj.score=3;l-schoolc.sportsj.num=3; l-schoold.sportsj.score=2;l-schoold.sportsj.num=4; l-schoole.sportsj.score=1;l-schoole.sportsj.num=5; for

9、(j=p;jm;j+) cout请依次输入编号为j的女子项目前3名学校编号abc; l-schoola.sportsj.score=5;l-schoola.sportsj.num=1; l-schoolb.sportsj.score=3;l-schoolb.sportsj.num=2; l-schoolc.sportsj.score=2;l-schoolc.sportsj.num=3; return l;void sum(sho l) int i,j; for(i=0;ischooli.totalscore=0; /各学校总分赋初值为0; l-schooli.manscore=0; l-sch

10、ooli.womanscore=0; for(i=0;in;i+) for(j=0;jschooli.totalscore=l-schooli.totalscore+l-schooli.sportsj.score; /各学校的总分 for(i=0;in;i+) for(j=0;jschooli.manscore=l-schooli.manscore+l-schooli.sportsj.score; /各学校男团总分 for(i=0;in;i+) for(j=p;jschooli.womanscore=l-schooli.womanscore+l-schooli.sportsj.score; /

11、各学校女团总分 for(i=0;in;i+) coutschooli.schoolname总分为schooli.totalscoreendl;4、排序void paixu1(sho l)cout按照学校编号从小到大的顺序排序输出的结果为:endl;for(int i=0;in;i+) /按照学校编号排序coutschooli.schoolname ;coutendl;void paixu2(sho l)typedef struct tscore int tascore; int number;tscore;int i,j;tscore k,tsn;for(i=0;ischooli.totals

12、core; tsi.number=i;for(i=0;in;i+) /按照学校总分从高到低排序for(j=0;jn-i;j+)if(tsj.tascoretsj+1.tascore) k=tsj; tsj=tsj+1; tsj+1=k;cout按照学校总分从高到低排序输出的结果为:endl;for(i=0;in;i+)coutschooltsi.number.schoolname ;coutendl;void paixu3(sho l)typedef struct mscore int mascore; int number;mscore;int i,j;mscore k,msn;for(i=

13、0;ischooli.manscore; msi.number=i;for(i=0;in;i+) /按照学校男团总分从高到低排序for(j=0;jn-i;j+)if(msi.mascoremsi+1.mascore) k=msi; msi=msi+1; msi+1=k;cout按照学校男团总分从高到低排序输出的结果为:endl;for(i=0;in;i+)coutschoolmsi.number.schoolname ;coutendl;void paixu4(sho l)typedef struct wscore int wascore; int number;wscore;int i,j;

14、wscore k,wsn;for(i=0;ischooli.womanscore; wsi.number=i;for(i=0;in;i+) /按照学校女团总分从高到低排序for(j=0;jn-i;j+)if(wsi.wascorewsi+1.wascore) k=wsi; wsi=wsi+1; wsi+1=k;cout按照学校女团总分从高到低排序输出的结果为:endl;for(i=0;in;i+)coutschoolwsi.number.schoolname ;coutendl;5、查找void chaxun1(sho l) /按学校编号查询学校某个项目的情况 int i,j=0,a; cou

15、t请输入学校编号:i; cout请输入待查项目编号a; if(am) cout项目编号输入有误; else cout编号为i的学校在编号为a的项目上的名次为schooli.sportsa.numendl; cout编号为i的学校在编号为a的项目上的分数为schooli.sportsa.scoreendl; void chaxun2(sho l) /按项目编号查询取得前3名或前5名成绩 int i,k,j; cout请输入要查询项目的项目编号i;if(i=m)cout您输入的编号有误p-1) for(j=1;jschoolk.sportsi.num!=j;) k+; if(kn) cout在该项

16、目上取得第j名的学校为schoolk.schoolnameendl; else for(j=1;jschoolk.sportsi.num!=j;) k+; if(kn) cout在该项目上取得第j名的学校为schoolk.schoolnameendl; 6、主函数及其他代码的算法void main() sho l; int a,fg=1;while(fg!=0) cout-endl; cout请选择要执行的命令: 1.赋值 2.输出各校总分 3.按学校编号排序 4.按学校总分排序endl; cout5.按男团总分排序 6.按女团总分排序 7.按学校编号查询 8.按项目编号查询 9.退出 end

17、l; cout请输入所要执行命令的代码:a;switch(a)case 1:system(cls);l=fuzhi();break;case 2:system(cls);sum(l);break;case 3:system(cls);paixu1(l);break;case 4:system(cls);paixu2(l);break;case 5:system(cls);paixu3(l);break;case 6:system(cls);paixu4(l);break;case 7:system(cls);chaxun1(l);break;case 8:system(cls);chaxun2

18、(l);break;case 9:system(cls);cout谢谢使用endl;break;default:cout您输入的选择代码有错误,请重新输入;7、函数调用关系图四、调试分析1、本程序采用结构体的形式定义,为学校设结构体,每个学校包括若干项目、总分、男团总分、女团总分,每个项目又设结构体,包括项目名称、排名、分数等。分类清晰,可以方便地表示各项之间的相互关系。便于各学校之间比较,方便用户查找。2、由于学校的个数和运动项目的个数不是很多,所以在查找的选择上没有使用其他计较麻烦的查找方式而是直接使用比较简便的、针对查找对象较少的情况下使用的直接查找法3、本程序的模块的划分也十分的合理,

19、根据题目的要求,将模块十分情绪的分成四个大的模块,由于数据对象并比较少,所以都是采用最简便最有效的方式。然后通过主函数直接调用这些函数已达到完成所需要的命令。4、算法时空分析,本算法基本上采用for循环语句,实现简便,时间复杂度基本上为O(n)、O(m)、O(n*m)。五、用户手册1、本程序的运行环境为windows 7操作系统。2、进入程序后显示界面。3、首先由输入端输入1,然后按回车键,按照提示赋值。4、根据提示选择2中的其它命令,按照相关提示查询。六、测试结果1、赋值操作2、求各校总分3、按学校编号排序4、按学校总分排序5、按男团总分排序6、按女团总分排序7、按学校编号查询8、按项目编号查询9、退出七、附录:源文件名清单iostream.hmalloc.hstring.hstdlib.h

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

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