《学生运动会成绩管理系统27页》由会员分享,可在线阅读,更多相关《学生运动会成绩管理系统27页(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);printf(n);printf(* 0:退出;1:返回目录。n);printf(*请选