C语言程序设计运动会成绩统计系统.doc

上传人:小飞机 文档编号:4219550 上传时间:2023-04-10 格式:DOC 页数:21 大小:395KB
返回 下载 相关 举报
C语言程序设计运动会成绩统计系统.doc_第1页
第1页 / 共21页
C语言程序设计运动会成绩统计系统.doc_第2页
第2页 / 共21页
C语言程序设计运动会成绩统计系统.doc_第3页
第3页 / 共21页
C语言程序设计运动会成绩统计系统.doc_第4页
第4页 / 共21页
C语言程序设计运动会成绩统计系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言程序设计运动会成绩统计系统.doc》由会员分享,可在线阅读,更多相关《C语言程序设计运动会成绩统计系统.doc(21页珍藏版)》请在三一办公上搜索。

1、程序设计工程训练报告运动会分数统计系统课程名称 C语言程序设计工程训练姓 名 院(系) 信息科学与技术学院专业班级 学 号 指导教师 教务处制目 录1 需求分析12 系统总框图和功能模块说明22.1 系统总框图22.2 功能模块说明23 系统设计33.1 主要结构体33.2主要功能函数33.3 关键函数的流程图44 系统调试45 总结76源程序清单71 需求分析1问题描述 运动会分数统计 参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:

2、5、3、2;哪些项目取前五名或前三名由使用者设定。(m=20,n=20)2. 基本要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分; 3) 可以按学校编号、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前三或前五名的学校。3.测试数据1) 首先进入成绩录入界面,先输入参赛学校数,再输入男子组数和女子组数;2) 然后进入总目录;3) 输入 :1 输入成绩;4) 输入:2 统计各校总分;5) 输入:3 统计各校项目得分;6) 输入:4 按学校总分排序输出;7) 输入:5 按男团体总分排序输出;8) 输入:6

3、按女团体总分排序输出;9) 输入:7 按学校编号查询学校某个项目的成绩;10) 输入:8 按项目编号查询取得前三名或前五名的学校;11) 输入:0 退出;2 系统总框图和功能模块说明2.1 系统总框图 启动程序 录入学校数,男、女子组数 显示主目录输入成绩统计各校分数统计各校个项目得分按男团体总分排序输出按女团体总分排序输出按学校总分排序输出按学校编号查询学校某个项目的成绩按项目编号查询取得前三名或前五名的学校用户选择某命令,产生相应的操作显示结果,用户选择返回主目录或退出退出程序2.2 功能模块说明1) 输入 :1 输入成绩;输入某一项目的成绩2) 输入:2 统计各校总分;统计各校所有项目总

4、分之和3) 输入:3 统计各校项目得分;输出各校各项目得分4) 输入:4 按学校总分排序输出;按照总分从大到小排序5) 输入:5 按男团体总分排序输出;仅按照男子团体总分从大到小排序6) 输入:6 按女团体总分排序输出;仅按照女子团体总分从大到小排序7) 输入:7 按学校编号查询学校某个项目的成绩;输入学校编号及项目编号可查询该校的该项目成绩8) 输入:8 按项目编号查询取得前三名或前五名的学校;输入项目编号可查询该项目获得名次的学校9) 输入:0 退出;退出系统3 系统设计3.1 主要结构体菜单号choo学校:num项目:ab男团、de女团、ke3.2主要功能函数void exit0()vo

5、id input() void each() void biaohao()void zongfen() void nanzong() void nvzong() void xuexiao() void xiangmu()void main()3.3 关键函数的流程图void exit0()void input()void each() void biaohao()void zongfen() void nanzong() void nvzong() void xuexiao() void xiangmu()void main()4 系统调试开始界面,分别输入3、7、3.输入1后显示输入2后显示

6、输入3后显示输入4后显示输入5后显示输入6后显示输入7后显示输入8后显示输入9退出5 总结本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。学习的路很长。再有要多问,几个人共同讨论会有意想不到的效果6 源程序清单 #include#include int a,b,c,d,i,j; struct node int num; ; struct node *f22; void exit0() FILE *fp; int k; alp:if(fp=fopen(e:sore.txt,w)=NULL) printf(creat e

7、rrorn); printf( 1*try againn); printf( 2*tui chun); printf( 3*return menun); /回到主菜单/alj: scanf(%d,&k); if(k=1) goto alp; else if(k=2) exit(0); else if(k=3) return; else printf(输入错误,请重新输入:); goto alj; printf(fp,nn); fprintf(fp, *运动会分数统计表*nnn); printf(fp, *项目代号 *); for(i=1;i=c+d;i+) printf(fp,%5d,i);

8、printf(fp, ); printf(fp,n *学校代号*); for(i=1;i=a;i+) printf(fp,%10d ,i); for(b=1;bc+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+是n);/(若重新录入,以前的该项目

9、成绩将被删除)/ printf( 2+否n);/不要,待查证后再录入/ 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 此项目是以前几名为胜出者:n); /选择得

10、分标准/printf( 3-以前三名n);printf( 5-以前五名n); scanf(%d,&ac); if(ac=3) printf( 请按照第一、第二、第三的名次依次输入获胜学校代号:);af=5; for(i=0;ia|ae1) printf( %d 学校代号不存在,重新输入第%d名的学校代号:,ae,g); goto alq; for(b=0;b5;b+) if(ae=getb) printf( 同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号:,g); goto alq; else getb=ae; fae0.num=fae0.num+af; faeab.num

11、=af; if(ab3) af=af-2; else af-; g+; else if(ac=5) printf( 请按照第一、第二、第三、第四、第五的名次依次输入获胜学校代号:); af=7; for(i=0;ia|ae1) printf( %d学校代号不存在,重新输入第%d名的学校代号:,ae,g); goto alw; for(b=0;b5;b+) if(ae=getb) printf( 同一个学校不能在同一项目中有两个名次,请重新输入第%d名的学校代号:,g); goto alw; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if

12、(ab3) af=af-2; else af-; g+; else goto al; printf( 输入完成! n); /*学校成绩*/ void each() printf(n 学校代号:团体总成绩n); for(i=1;i=a;i+) printf( %d : %dn,i,fi0.num); /*各项目成绩*/void biaohao() printf(n 项目代号:); for(i=1;i9) printf( %d ,i); else printf(%5d ,i); printf(n 学校代号:n);for(i=1;i=a;i+) printf(%7d ,i); for(b=1;b9)

13、 printf(%6d,fib.num); else printf(%7d,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 学校代号:团体总成绩n); for(i=1;i=a;i+) dei.ke=i; dei.num=fi0.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke

14、; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i=a;i+) printf( %d : %dn,dei.ke,dei.num); /*按男子团队总分排序*/void nanzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(n 学校代号:男子团体总成绩n); for(i=1;i=a;i+) dei.ke=i;

15、 dei.num=fic+d+1.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i=a;i+) printf( %d : %dn,dei.ke,dei.num); /*按女子团队总分排序*/void nvzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(stru

16、ct nod)*a+1); printf(n 学校代号:女子团体总成绩n); for(i=1;i=a;i+) dei.ke=i; dei.num=fic+d+2.num; for(i=1;i=a;i+) for(b=i;bdei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;ia|drc+d|dtc+d|ge1)printf(没有此项目代号,重新输入:n); goto all; for(i=1;i=a;i+) if(fige.num=2) sedy=1; if

17、(sedy=0) printf(此项目没有录入成绩n); return; for(i=1;i0;i-) for(b=1;b=a;b+) if(fbge.num=i) printf( %d号学校n,b); void(*g)()=input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0; /*主函数*/void main() int choos;printf(nn * * * 运动会分数统计 * * *nnn); printf( 共有多少个学校参赛:); scanf(%d,&a); while(a20) if(a20) prin

18、tf(n参赛学校个数不能大于20nn);printf( 共有多少个学校参赛:);scanf(%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(); 程序设计工程训练成绩评定标准表明细项目评分等级(含系数)评分分值实际得分考勤A(1)B(0.8)C(0.5)D(0.0)10工程项目规范A(1)B(0.8)C(0.5)D(0.2)10工程训练报告A(1)B(0.8)C(0.5)D(0.2)30设计作品质量A(1)B(0.8)C(0.5)D(0.2)45材料收集情况A(1)B(0.8)C(0.5)D(0.2)5综合评分优90-100良80-89中70-79合格60-69不合格0-59该生成绩为: ,指导老师(签名): 评定日期: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号