学生运动会成绩管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、系统开发的背景 (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)
四、系统测试 (13)
(一)测试VOID HUANYINGNI()函数,VOID INPUT()函数 (13)
(二)测试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)
学生运动会成绩管理系统
一、系统开发的背景
为了学校方便管理学生运动会成绩,查询各系总分、各项目排名、以及各系获奖情况,因此我们用所学的知识设计了一个学生运动会管理系统,以此方便学校对运动会情况的了解及查询。
二、系统分析与设计
(一)系统功能要求
该系统可以实现:1) 可以输入各个项目的前三名的成绩;2) 能统计各系别总分;3) 可以按系别编号、系别总分、男女团体总分排序输出;4) 可以按系别编号查询某系某个项目的情况;5) 可以按项目编号查询取得前三名的系别。
(二)系统模块结构设计
概要设计:
1 结构体
运动项目
{ 项目编号;名次;};
系别
{ 系别编号;项目;团体总分;男团体总分;女团体总分;};
2 主程序(main)
包括登陆欢迎程序,分数录入程序,查询程序,退出程序通过对系统功能的分析,学生运动会成绩管理系统功能如图1所示。
图1 学生运动会成绩管理系统功能图
通过上图的功能分析,把整个系统划分为8个模块:
1、统计各系别总分,该模块主要实现:统计各系别运动会成绩总分,借助函数void funct1()来实现;
2、按系别编号排序,该模块主要实现:按照各系别编号从小到大进行排序,借助函数void funct2()来实现;
3、按系别总分排序,该模块主要实现:按照各个系别运动会成绩总分从大到小进行排序,借助函数void funct3()来实现;
4、按男团体总分排序,该模块主要实现:按照各系别男团体获得的总分从大到小进行排序,借助函数void funct4()来实现;
5、按女团体总分排序,该模块主要实现:按照各系别女团体获得的总分从大到小进行排序,借助函数void funct5()来实现;
6、按系别编号查询某个项目情况,该模块主要实现:根据系别编号查询该系别在某个项目中所获得的成绩,借助函数void funct6()来实现;
7、按项目编号查询取得名次的系别,该模块主要实现:根据项目编号查询取得该项目前三名的系别,借助函数void funct7()来实现;
8、退出系统,该模块主要实现:学生运动会成绩管理系统的安全退出,借助函数void funct0()来实现;
三、系统的设计与实现
(一)统计各系别总分:void funct1()
分析:根据各系所获奖项的级别,按照每个一等奖加5分,每个二等奖加3分,每个三等奖加2分,统计出各系所获得的总分。流程图如图2所示。
图2:void funct1()流程图
该模块的具体代码如下所示。
void funct1() //统计各系别总分
{ int i,q;
printf(" **********统计各系别总分**********\n");
printf(" **系别编号**\t\t **总分**\n");
for(i=0;i printf("\t%d\t\t\t %d\n",dep[i].departmentnum,dep[i].total); 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(); else { printf("输入错误(只能是0或1),请重新输入:"); } } } (二)按系别编号排序:void funct2() 分析:为了使用户更好的查询各系之间的比赛成绩情况,将其按照系别编号进行排序。流程图如图3所示。 图3:void funct2()流程图 该模块的具体代码如下所示。 void funct2() //按系别编号排序 { struct department dep1; int i,j,q; for(j=0;j for(i=0;i if(dep[i].departmentnum>dep[i+1].departmentnum) { dep1=dep[i]; dep[i]=dep[i+1]; dep[i+1]=dep1; } printf(" **********按系别编号排序**********\n"); printf(" **系别编号**\t\t **总分**\n"); for(i=0;i printf("\t%d\t\t\t\t%d\n",dep[i].departmentnum,dep[i].total); printf("\n");printf("\n"); printf("**** 0:退出;1:返回目录。\n"); printf("****请选择: ");