学生运动会成绩管理系统.doc
《学生运动会成绩管理系统.doc》由会员分享,可在线阅读,更多相关《学生运动会成绩管理系统.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录一、系统开发的背景1二、系统分析与设计1(一)系统功能要求1(二)系统模块结构设计1(一)统计各系别总分:void funct1()4(二)按系别编号排序:void funct2()5(三)按系别总分排序:void funct3()6(四)按男团体总分排序:void funct4()7(五)按女团体总分排序:void funct5 ()8(六)按系别编号查询某个项目情况:void funct6 ()10(七)按项目编号查询取得名次的系别:void funct7()11(八)退出系统:void funct0()13四、系统测试14(一)测试void huanyingni()函数,void i
2、nput()函数14(二)测试void mulu()函数14(三)测试void funct1()函数14(四)测试void funct2()函数15(五)测试void funct3()函数15(六)测试void funct4()函数15(七)测试void funct5()函数16(八)测试void funct6()函数16(九)测试void funct7()函数16(十)测试void funct0()函数16五、总结17六、附件(代码)18学生运动会成绩管理系统一、系统开发的背景为了学校方便管理学生运动会成绩,查询各系总分、各项目排名、以及各系获奖情况,因此我们用所学的知识设计了一个学生运动会
3、管理系统,以此方便学校对运动会情况的了解及查询。二、系统分析与设计(一) 系统功能要求该系统可以实现:1) 可以输入各个项目的前三名的成绩;2) 能统计各系别总分;3) 可以按系别编号、系别总分、男女团体总分排序输出;4) 可以按系别编号查询某系某个项目的情况;5) 可以按项目编号查询取得前三名的系别。(二) 系统模块结构设计概要设计:1 结构体运动项目 项目编号 ;名次;系别 系别编号;项目;团体总分;男团体总分;女团体总分;2 主程序(main) 包括登陆欢迎程序,分数录入程序,查询程序,退出程序通过对系统功能的分析,学生运动会成绩管理系统功能如图1所示。学生运动会成绩管理系统统计各系别总
4、分按系别编号排序按系别总分排序按男团体总分排序按女团体总分排序按系别编号查询系别某个项目按项目编号查询取得名次的系别退出系统图1 学生运动会成绩管理系统功能图通过上图的功能分析,把整个系统划分为8个模块:1、统计各系别总分,该模块主要实现:统计各系别运动会成绩总分,借助函数void funct1()来实现;2、按系别编号排序,该模块主要实现:按照各系别编号从小到大进行排序,借助函数void funct2()来实现;3、按系别总分排序,该模块主要实现:按照各个系别运动会成绩总分从大到小进行排序,借助函数void funct3()来实现;4、按男团体总分排序,该模块主要实现:按照各系别男团体获得的
5、总分从大到小进行排序,借助函数void funct4()来实现;5、按女团体总分排序,该模块主要实现:按照各系别女团体获得的总分从大到小进行排序,借助函数void funct5()来实现;6、按系别编号查询某个项目情况,该模块主要实现:根据系别编号查询该系别在某个项目中所获得的成绩,借助函数void funct6()来实现;7、按项目编号查询取得名次的系别,该模块主要实现:根据项目编号查询取得该项目前三名的系别,借助函数void funct7()来实现;8、退出系统,该模块主要实现:学生运动会成绩管理系统的安全退出,借助函数void funct0()来实现;三、系统的设计与实现(一) 统计各系
6、别总分:void funct1()分析:根据各系所获奖项的级别,按照每个一等奖加5分,每个二等奖加3分,每个三等奖加2分,统计出各系所获得的总分。流程图如图2所示。 开始总分= 一等奖5 + 二等奖3 + 三等奖2输出总分结束图2:void funct1()流程图该模块的具体代码如下所示。void funct1() /统计各系别总分 int i,q;printf( *统计各系别总分*n); printf( *系别编号*tt *总分*n); for(i=0;idepi+1.departmentnumdep1=depi;depi=depi+1;depi+1=dep1;输出排序后的系别编号结束图3:
7、void funct2()流程图该模块的具体代码如下所示。void funct2() /按系别编号排序struct department dep1;int i,j,q;for(j=0;jN-1;j+)for(i=0;idepi+1.departmentnum)dep1=depi;depi=depi+1;depi+1=dep1; printf( *按系别编号排序*n);printf( *系别编号*tt *总分*n); for(i=0;iN;i+) printf(t%dtttt%dn,depi.departmentnum,depi.total);printf(n);printf(n);printf
8、(* 0:退出;1:返回目录。n);printf(*请选择: ); scanf(%d,&q);while(q=0|q=1)if(q=0) funct0();if(q=1) xunhuan(); elseprintf(输入错误(只能是0或1),请重新输入:); (三) 按系别总分排序:void funct3()开始depi.totaldepi+1.totaldep1=depi;depi=depi+1;depi+1=dep1;输出按总分排序后的系别结束分析:为了使用户更好的查询各系之间的比赛成绩排名情况,将其按照所获成绩总分进行排序。流程图如图4所示。 图4:void funct3()流程图该模块
9、的具体代码如下所示。void funct3() /按系别总分排序 struct department dep1;int i,j,q;for(j=0;jN-1;j+)for(i=0;iN-j-1;i+)if(depi.totaldepi+1.total)dep1=depi;depi=depi+1;depi+1=dep1; printf( *按系别总分排序*n);printf( *系别编号*tt *总分*n); for(i=0;iN;i+) printf(t%dtttt%dn,depi.departmentnum,depi.total); printf(n);printf(n);printf(*
10、0:退出;1:返回目录。n);printf(*请选择: ); scanf(%d,&q);while(q=0|q=1)if(q=0) funct0();if(q=1) xunhuan(); elseprintf(输入错误(只能是0或1),请重新输入:);(四) 按男团体总分排序:void funct4()分析:根据各系男团体项目所获得的总分进行排序并按所获得的总分从大到小输出。流程图如图5所示。 开始depi.boytotaldepi+1.boytotaldep1=depi;depi=depi+1;depi+1=dep1;输出按男团体所获总分排序后的系别结束图5:void funct4()流程图
11、该模块的具体代码如下所示。void funct4() /按男团体总分排序 struct department dep1;int i,j,q;for(j=0;jN-1;j+)for(i=0;iN-j-1;i+)if(depi.boytotaldepi+1.boytotal)dep1=depi;depi=depi+1;depi+1=dep1; printf( *按男团体总分排序*n);printf( *系别编号*tt *总分*n); for(i=0;iN;i+) printf(t%dtttt%dn,depi.departmentnum,depi.boytotal); printf(n);print
12、f(n);printf(* 0:退出;1:返回目录。n);printf(*请选择: ); scanf(%d,&q);while(q=0|q=1)if(q=0) funct0();if(q=1) xunhuan(); elseprintf(输入错误(只能是0或1),请重新输入:);(五) 按女团体总分排序:void funct5 ()分析:根据各系女团体项目所获得的总分进行排序并按所获得的总分从大到小输出。流程图如图6所示。 开始depi.girltotaldepi+1.girltotaldep1=depi;depi=depi+1;depi+1=dep1;输出按女团体所获总分排序后的系别结束图6
13、:void funct5()流程图该模块的具体代码如下所示。void funct5() /按女团体总分排序 struct department dep1;int i,j,q;for(j=0;jN-1;j+)for(i=0;iN-j-1;i+)if(depi.girltotaldepi+1.girltotal)dep1=depi;depi=depi+1;depi+1=dep1; printf( *按女团体总分排序*n);printf( *系别编号*tt *总分*n); for(i=0;iN;i+) printf(t%dtttt%dn,depi.departmentnum,depi.girltot
14、al); printf(n);printf(n);printf(* 0:退出;1:返回目录。n);printf(*请选择: ); scanf(%d,&q);while(q=0|q=1)if(q=0) funct0();if(q=1) xunhuan(); elseprintf(输入错误(只能是0或1),请重新输入:);(六) 按系别编号查询某个项目情况:void funct6 ()分析:首先输入所要查询的系别编号以及项目编号,最后输出该系别在该项目中所获得的名次。流程图如图7所示。开始输入所要查询的系别编号输入所要查询的项目编号利用循环查找该系在该项目中获得的名次输入该系在该项目中所获得的名次
15、结束图7:void funct6()流程图该模块的具体代码如下所示。void funct6() /按系别编号查询系别某个项目情况int i,n,m,q;printf( *按系别编号查询系别某个项目情况*n);printf(*请输入所要查询的系别编号: );scanf(%d,&n);while(n!=1&n!=2)if(n!=1&n!=2)printf(输入错误,系别编号只能是0或1,请重新输入);printf(*请输入所要查询的项目编号: );scanf(%d,&m);for(i=0;iN;i+)if(n=depi.departmentnum) printf(系别编号: %d 项目编号: %d
16、n,n,m);if(depi.matm.rank0=1)printf(第一名(获得) ); if(depi.matm.rank1=1)printf(第二名(获得) ); if(depi.matm.rank2=1)printf(第三名(获得) );elseprintf(本系该项目未进入前三名);printf(n);printf(n);printf(* 0:退出;1:返回目录;2:返回上一级。n);printf(*请选择: ); scanf(%d,&q);while(q=0|q=1)if(q=0) funct0();if(q=1) xunhuan(); elseprintf(输入错误(只能是0或1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 运动会 成绩管理系统
限制150内