C语言专业课程设计之校运动会标准管理系统的设计和实现.doc
《C语言专业课程设计之校运动会标准管理系统的设计和实现.doc》由会员分享,可在线阅读,更多相关《C语言专业课程设计之校运动会标准管理系统的设计和实现.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一 题目要求课题:校运动会管理系统设计和实现具体要求:(1)信息初始化,依次输入: N参赛学校总数 M男子竞赛项目数 W女子竞赛项目总数 各项目名次取法有以下多个: 取前五名:第一名得分7分,第二名得分5分,第三名得分3分,第四名2分,第五名得分1分。 取前三名:第一名得分5分,第二名得分3分,第三名得分2分。 用户自定义:各名次权值由用户定义。(2)提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)全部信息统计完成后,用户能够查询各个学校比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。二 需求分析依据题目要求,将学校信息和比赛项目等信息存放到指定文件中,并能实现相关信息浏览
2、功效,故在程序中应提供输入,输出,显示,查找,排序等操作。三 总体设计由需求分析可讲系统分为信息输入模块,比赛录入模块和查询模块三个模块,并追加部分辅助模块以增加程序功效,方便使用。四 具体设计 1 主函数关键经过main()函数及choose()函数实现.void main() /*主函数*/ int choos printf(nn * * * 运动会分数统计 * * *nnn); printf(共有多少个学校参赛:); scanf(%d,&a); while(a20) if(a20) printf(n 参赛学校个数不能大于20nn); printf(共有多少个学校参赛:); scanf(%
3、d,&a); printf(有多个男子组:); scanf(%d,&c); printf(有多个女子组:); scanf(%d,&d); for(i=0;i=a;i+) fi=(struct node *)malloc(sizeof(struct node)*(c+d+3); for(j=0;j=c+d+2;j+) fij.num=0; choos=choose(); while(1) while(choos8) choos=choose(); (*gchoos)(); printf(n); choos=choose(); int choose() int choo; printf(nn 1*
4、输入成绩n);printf( 2*统计各学校总分n); printf( 3*按学校编号排序输出n); printf( 4*按学校总分排序输出n); printf( 5*按男团体总分排序输出n); printf( 6*按女团体总分排序输出n); printf( 7*按学校编号查询学校某个项目标成绩n); printf( 8*按项目编号查询取得前三或前五名学校n); printf( 9*退出nn); printf(请选择:); scanf(%d,&choo); 2 成绩输入结束输入运动项目代号输入评分制度依次输入获奖学校开始是否在范围是否为三或五图2 运动会成绩输入步骤图当选择1 时进行成绩输入.
5、实现功效函数为input(),相关实现以下: void input() int ab,ac,ae,af,g=1,get5=0,0,0,0,0; printf(n请输入项目代号:); ale:scanf(%d,&ab); if(abc+d|ab1) printf(n此项目代号不存在,重新输入n); goto ale; ae=0; for(i=0;i=a;i+) if(fiab.num!=0) ae=1; break; if(ae=1) al2: printf(n此项目成绩曾经已被录入过,是否要重新录入(您输入项目代号可能有误,强烈提议您查证后再录入):n); printf( 1+重新录入(若重新
6、录入,以前该项目成绩将被删除)n); printf( 2+不要,待查证后再录入nn); scanf(%d,&af); if(af=2) printf(您已取消录入!n); return; else if(af=1) for(i=1;i=a;i+) if(fiab.num!=0) fi0.num=fi0.num-fiab.num; if(ab=c) fic+d+1.num=fic+d+1.num-fiab.num; else fic+d+2.num=fic+d+2.num-fiab.num; fiab.num=0; else goto al2; al: printf(n此项目是以前几名为胜出者:
7、nn); printf( 3-以前三名n); printf( 5-以前五名nn); scanf(%d,&ac); if(ac=3) printf(n请依次输入获胜学校代号:); af=5; for(i=0;ia|ae1) printf(%d学校代号不存在,重新输入第%d名学校代号n,ae,g); goto alq; for(b=0;b5;b+) if(ae=getb) printf(同一个学校不能在同一项目中有两个名次,请重新输入第%d名学校代号!n,g); goto alq; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab3)
8、af=af-2; else af-; g+; else if(ac=5) printf(请依次输入获胜学校代号:); af=7; for(i=0;ia|ae1) printf(%d学校代号不存在,重新输入第%d名学校代号n,ae,g); goto alw; for(b=0;b5;b+) if(ae=getb) printf(同一个学校不能在同一项目中有两个名次,请重新输入第%d名学校代号!n,g); goto alw; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab3) af=af-2; else af-; g+; else go
9、to al; printf(nn 输入完成 ! ! ! ! n); 3 成绩统计当选择2 时进行成绩输入.实现功效函数为each (),相关实现以下:void each() printf(n 对应格式为:n 学校代号:团体总成绩nn ); for(i=1;i=a;i+) printf(%2d:%3d ,i,fi0.num); if(i%3=0) printf(n ); 4 根据多种方法输出 关键有按学校编号输出,按学校总分输出,按男团输出,按女团输出.相关实现分别以下:void biaohao() printf(n项目代号 ); for(i=1;i9) printf(%4d ,i); else
10、 printf(%5d ,i); printf(n); printf(学校代号 n); for(i=1;i=a;i+) printf( %d ,i); for(b=1;b9) printf(%4d,fib.num); else printf(%5d,fib.num); printf(n); void zongfen() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1);printf(n 按学校编号排序输出nn); printf( 学校代号 总
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 专业课程 设计 运动会 标准 管理 系统 实现
限制150内