2校际运动会管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

校际运动会管理系统要求(1)信息初始化,输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有下面几种:1提前5名:第一名得分7,第二名得分5,第三名得分3,第四名得分2,第五名得分1。2提前3名:第一名得分5,第二名得分,第三名得分2。3用户字定义:各名次权值由用户指定。(2)提醒用户填写比赛结果,输入各项获奖运动员的信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团队总分报表,查看参赛学校信息和比赛项目信息等。提示(1)总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块3个模块(2)数据结构采用数据体数组,包括学校、项目、运动员三个结构体。比如学校结构体成员包括学校校名、竞赛项目、得分;项目结构体成员包括项目名,权值。报告包括下面几个源程序清单:(调试好的源程序代码)主要标识符说明:(源程序中主要标识符含义说明)实验结果:(程序运行结果)实验环境:(调试程序所使用的软硬件环境)这里设定姓名长度不超过20字符。每个项目结束时,将其编号、类型符(区分取前3名还是前5名)输入,并按名次顺序输入运动员姓名、学校和成绩。程序已做改动,增加了一些代码以提高程序的健壮性。本题完整的c程序如下,在win-tc和Dev-c++下调试通过,运行正确。#includestdio.h#includestdlib.h#includemalloc.h#includeconio.h#definen5/*设定,可更改*/#definem3/*设定,可更改*/#definew2/*设定,可更改*/structachievement/*定义表示成绩的结构体*/{intschoolnumber;/*学校编号*/charname[20];/*姓名*/intmark;/*分数*/intresult;};structpro/*表示项目的结构体*/{inttag;/*项目编号*/structachievementach[m+w];intnumber;};structNode{structprodate;structNode*next;};main(){inti,j,t;intx[n]={0};inty[n]={0};/*x[n]和y[n]分别表示男子和女子团体总分*/structNode*head;structNode*p;structNode*q;if((head=(structNode*)malloc(sizeof(structNode)))==NULL)exit(1);head-next=NULL;/*初始化单链表*/p=head;for(i=0;im+w;i++)/*输入成绩*/{j=i+1;printf(请输入第%d个项目的信息\n,j);p-date.number=j;printf(所取的名次数为:);scanf(%d,&p-date.tag);while(p-date.tag!=3&&p-date.tag!=5){printf(输入有误,请重新输入!);getchar();/*加入此函数避免输入错误时程序进入无限循环*/getchar();printf(所取的名次数为:);scanf(%d,&p-date.tag);}t=1;while(t=p-date.tag){printf(第%d名的名字:,t);scanf(%s,p-date.ach[t-1].name);printf(第%d名的学校:,t);scanf(%d,&p-date.ach[t-1].schoolnumber);printf(第%d名的分数:,t);scanf(%d,&p-date.ach[t-1].mark);p-date.ach[t-1].result=t;t++;}if(j!=m+w)/*注意这里*/{q=(structNode*)malloc(sizeof(structNode));/*生成新结点*/p-next=q;p=q;p-next=NULL;}}for(i=0;in;i++)/*产生成绩单*/{j=i+1;printf(\n学校%d成绩单:\n,j);p=head;while(p!=NULL){t=1;while(t=p-date.tag){if(p-date.ach[t-1].schoolnumber==j){printf(获奖项目:%d,p-date.number);printf(名次:%d,p-date.ach[t-1].result);printf(获奖人姓名:%s,p-date.ach[t-1].name);printf(所得分数:%d\n,p-date.ach[t-1].mark);if(p-date.number=m)x[i]=x[i]+p-date.ach[t-1].mark;elsey[i]=y[i]+p-date.ach[t-1].mark;}t++;}p=p-next;}printf(\n男子团体总分:%d,x[i]);printf(女子团体总分:%d\n,y[i]);printf(团体总分:%d\n,x[i]+y[i]);}for(i=0;im+w;i++)/*释放申请的内存空间*/{p=head-next;free(head);head=p;}getch();}

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功