最新学生运动会成绩管理系统.docx
- 文档编号:9899389
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:38
- 大小:233.48KB
最新学生运动会成绩管理系统.docx
《最新学生运动会成绩管理系统.docx》由会员分享,可在线阅读,更多相关《最新学生运动会成绩管理系统.docx(38页珍藏版)》请在冰豆网上搜索。
最新学生运动会成绩管理系统
手工艺制品是我国一种传统文化的象征,它品种多样,方式新颖,制作简单,深受广大学生朋友的喜欢。
当今大学生的消费行为表现在追求新颖,追求时尚。
追求个性,表现自我的消费趋向:
购买行为有较强的感情色彩,比起男生热衷于的网络游戏,极限运动,手工艺制品更得女生的喜欢。
情感性手工艺品。
不少人把自制的手机挂坠作为礼物送给亲人朋友,不仅特别,还很有心思。
每逢情人节、母亲节等节假日,顾客特别多。
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
培养动手能力□学一门手艺□打发时间□兴趣爱好□
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。
不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。
现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。
无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。
它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。
更能让学生家长所接受。
§8-4情境因素与消费者行为2004年3月20日
(三)上海的文化对饰品市场的影响
400-500元1326%
Beadwrks公司还组织各国的“芝自制饰品店”定期进行作品交流,体现东方女性聪慧的作品曾在其他国家大受欢迎;同样,自各国作品也曾无数次启发过中国姑娘们的灵感,这里更是创作的源泉。
目录
学生运动会成绩管理系统
一、系统开发的背景
为了学校方便管理学生运动会成绩,查询各系总分、各项目排名、以及各系获奖情况,因此我们用所学的知识设计了一个学生运动会管理系统,以此方便学校对运动会情况的了解及查询。
二、系统分析与设计
(一)系统功能要求
该系统可以实现:
1)可以输入各个项目的前三名的成绩;2)能统计各系别总分;3)可以按系别编号、系别总分、男女团体总分排序输出;4)可以按系别编号查询某系某个项目的情况;5)可以按项目编号查询取得前三名的系别。
(二)系统模块结构设计
概要设计:
1结构体
运动项目
{项目编号;名次;};
系别
{系别编号;项目;团体总分;男团体总分;女团体总分;};
2主程序(main)
包括登陆欢迎程序,分数录入程序,查询程序,退出程序
通过对系统功能的分析,学生运动会成绩管理系统功能如图1所示。
图1学生运动会成绩管理系统功能图
通过上图的功能分析,把整个系统划分为8个模块:
1、统计各系别总分,该模块主要实现:
统计各系别运动会成绩总分,借助函数voidfunct1()来实现;
2、按系别编号排序,该模块主要实现:
按照各系别编号从小到大进行排序,借助函数voidfunct2()来实现;
3、按系别总分排序,该模块主要实现:
按照各个系别运动会成绩总分从大到小进行排序,借助函数voidfunct3()来实现;
4、按男团体总分排序,该模块主要实现:
按照各系别男团体获得的总分从大到小进行排序,借助函数voidfunct4()来实现;
5、按女团体总分排序,该模块主要实现:
按照各系别女团体获得的总分从大到小进行排序,借助函数voidfunct5()来实现;
6、按系别编号查询某个项目情况,该模块主要实现:
根据系别编号查询该系别在某个项目中所获得的成绩,借助函数voidfunct6()来实现;
7、按项目编号查询取得名次的系别,该模块主要实现:
根据项目编号查询取得该项目前三名的系别,借助函数voidfunct7()来实现;
8、退出系统,该模块主要实现:
学生运动会成绩管理系统的安全退出,借助函数voidfunct0()来实现;
三、系统的设计与实现
(一)统计各系别总分:
voidfunct1()
分析:
根据各系所获奖项的级别,按照每个一等奖加5分,每个二等奖加3分,每个三等奖加2分,统计出各系所获得的总分。
流程图如图2所示。
图2:
voidfunct1()流程图
该模块的具体代码如下所示。
voidfunct1()//统计各系别总分
{inti,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),请重新输入: "); } } } (二)按系别编号排序: voidfunct2() 分析: 为了使用户更好的查询各系之间的比赛成绩情况,将其按照系别编号进行排序。 流程图如图3所示。 图3: voidfunct2()流程图 该模块的具体代码如下所示。 voidfunct2()//按系别编号排序 { structdepartmentdep1; inti,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("****请选择: "); scanf("%d",&q); while(q==0||q==1) { if(q==0)funct0(); if(q==1)xunhuan(); else { printf("输入错误(只能是0或1),请重新输入: "); } } } (三)按系别总分排序: voidfunct3() 分析: 为了使用户更好的查询各系之间的比赛成绩排名情况,将其按照所获成绩总分进行排序。 流程图如图4所示。 图4: voidfunct3()流程图 该模块的具体代码如下所示。 voidfunct3()//按系别总分排序 { structdepartmentdep1; inti,j,q; for(j=0;j for(i=0;i if(dep[i].total { 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("****请选择: "); scanf("%d",&q); while(q==0||q==1) { if(q==0)funct0(); if(q==1)xunhuan(); else { printf("输入错误(只能是0或1),请重新输入: "); } } } (四)按男团体总分排序: voidfunct4() 分析: 根据各系男团体项目所获得的总分进行排序并按所获得的总分从大到小输出。 流程图如图5所示。 图5: voidfunct4()流程图 该模块的具体代码如下所示。 voidfunct4()//按男团体总分排序 { structdepartmentdep1; inti,j,q; for(j=0;j for(i=0;i if(dep[i].boytotal { 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].boytotal); 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),请重新输入: "); } } } (五)按女团体总分排序: voidfunct5() 分析: 根据各系女团体项目所获得的总分进行排序并按所获得的总分从大到小输出。 流程图如图6所示。 图6: voidfunct5()流程图 该模块的具体代码如下所示。 voidfunct5()//按女团体总分排序 { structdepartmentdep1; inti,j,q; for(j=0;j for(i=0;i if(dep[i].girltotal { 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].girltotal); 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),请重新输入: "); } } } (六)按系别编号查询某个项目情况: voidfunct6() 分析: 首先输入所要查询的系别编号以及项目编号,最后输出该系别在该项目中所获得的名次。 流程图如图7所示。 图7: voidfunct6()流程图 该模块的具体代码如下所示。 voidfunct6()//按系别编号查询系别某个项目情况 { inti,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;i if(n==dep[i].departmentnum) { printf("系别编号: %d项目编号: %d\n",n,m); if(dep[i].mat[m].rank[0]==1) printf("第一名(获得)"); if(dep[i].mat[m].rank[1]==1) printf("第二名(获得)"); if(dep[i].mat[m].rank[2]==1) printf("第三名(获得)"); else printf("本系该项目未进入前三名"); } 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(); else { printf("输入错误(只能是0或1),请重新输入: "); } } } (七)按项目编号查询取得名次的系别: voidfunct7() 分析: 首先输入所要查询的项目编号,通过查找后,输出获得该项目前三名的系别。 流程图如图8所示。 图8: voidfunct7()流程图 该模块的具体代码如下所示。 voidfunct7()//按项目编号查询取得名次的系别 { inti,t,q; printf("**********按项目编号查询取得名次的系别**********\n"); printf("*****请输入所要查询的项目编号: "); scanf("%d",&t); printf("项目编号: %d\n",t); for(i=0;i { if(dep[i].mat[t-1].rank[0]==1) printf("获得第一名的系别编号是: %d\n",dep[i].departmentnum); if(dep[i].mat[t-1].rank[1]==1) printf("获得第二名的系别编号是: %d\n",dep[i].departmentnum); if(dep[i].mat[t-1].rank[2]==1) printf("获得第三名的系别编号是: %d\n",dep[i].departmentnum); } 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(); else { printf("输入错误(只能是0或1),请重新输入: "); } } } (八)退出系统: voidfunct0() 分析: 当用户输入退出指令时,则输出结束语。 流程图如图9所示。 图9: voidfunct0()流程图 该模块的具体代码如下所示。 voidfunct0()//退出系统 { printf("\n\t\t***********谢谢使用! ***********\n"); exit(0); } 四、系统测试 (一)测试voidhuanyingni()函数,voidinput()函数 图10: 测试voidhuanyingni()函数,voidinput()函数 (二)测试voidmulu()函数 图11: 测试voidmulu()函数 (三)测试voidfunct1()函数 图12: 测试voidfunct1()函数 (四)测试voidfunct2()函数 图13: 测试voidfunct2()函数 (五)测试voidfunct3()函数 图14: 测试voidfunct3()函数 (六)测试voidfunct4()函数 图15: 测试voidfunct4()函数 (七)测试voidfunct5()函数 图16: 测试voidfunct5()函数 (八)测试voidfunct6()函数 图17: 测试voidfunct6()函数 (九)测试voidfunct7()函数 图18: 测试voidfunct7()函数 (一十)测试voidfunct0()函数 图19: 测试voidfunct0()函数 五、总结 学生运动会成绩管理系统完成了: 1)可以输入各个项目的前三名的成绩;2)能统计各系别总分;3)可以按系别编号、系别总分、男女团体总分排序输出;4)可以按系别编号查询某系某个项目的情况;5)可以按项目编号查询取得前三名的系别。 系统有以下不足: 1、设计程序时为了使程序简单化,问题考虑的有些不全面;2、由于结构体使用不太熟,所以结构体不能初始化不知道,导致运动会管理系统设计耗费不必要的时间;3、在编写程序时,有的函数调用功能太片面化,使得一些功能都不能实现;4、在程序运行阶段,没有突出具体运算方法等而是只是显示结果。 通过本次课程设计,我掌握了程序设计的模块化思路,并真正理解了函数调用的可使用性,也了解了结构体的使用方法及范围;对C语言的看法有了一定的改观,也消除了惧怕心理,也学会了设计程序时应该使其功能一个一个的逐步实现并测试正确性,而不是无条理的胡写尤其是大程序更应该有清晰的条理;同时也理解了流程图的重要意义。 六、附件(代码) #include #include #defineN3//系别个数 #definebm5//男团体个数 #definegm3//女团体个数 voidxuanze(); voidxunhuan(); structmatch//项目 { intmatchnum; intrank[3]; }mat[bm+gm]; structdepartment//系别 { intdepartmentnum; structmatchmat[bm+gm]; inttotal; intboytotal; intgirltotal; }dep[N]; voidhuanyingni()/*开始界面,欢迎使用*/ { printf("\n\n工学系2012级计算机科学与技术(网络工程方向)班韩历英\n\n\n"); printf("\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n"); printf("欢迎使用运动会分数统计系统\n\n"); printf("\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n"); } voidinput()//输入成绩 { inti,j,k; for(i=0;i { dep[i].total=0; dep[i].boytotal=0; dep[i].girltotal=0; for(k=0;k { dep[i].mat[k].rank[0]=0; dep[i].mat[k].rank[1]=0; dep[i].mat[k].rank[2]=0; dep[i].mat[k].matchnum=k+1; } } printf("@@@@@-----输入成绩-----@@@@@\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("|***输入说明: |\n"); printf("|1.系别编号为1--%d;项目编号为1--%d(1-%d为男子项目,%d-%d为女子项目).|\n",N,bm+gm,bm,bm+1,bm+gm); printf("|2.成绩只能是'0'或'1'('0'表示没获得该项目的该名次,|\n|'1'表示获得了该项目的该名次.以'Tab'键前进。 )|\n",N); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=0;i { printf("######请输入系别编号: "); scanf("%d",&dep[i].departmentnum); while(dep[i].departmentnum<0||dep[i].departmentnum>N) { if(dep[i].departmentnum<0||dep[i].departmentnum>N) { printf("输入错误(只能是1-%d)请重新输入: ",N); } } printf("项目编号"); for(k=0;k printf("%d",dep[i].mat[k].matchnum); printf("\n"); for(j=0;j<3;j++) { printf("第(%d)名: ",j+1); f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 学生 运动会 成绩管理系统