




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运动会分数统计系统的实现09计科(2)班E10914044杨 素 传一、设计要求1、问题描述参加运动会有n个学校,学校编码为1,2,n,比赛分成m个男子项目和w个女子项目。项目编号为男子1,2,m,女子m+1,m+2,m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别5,3,2;哪些取前五名或前三名由学生自己设定(m=20,nnext=NULL;p=L;printf(请输入男女项目总个数:);scanf(%d,&num);while(num-)printf(请输入项目编号:);scanf(%d,&objnum);printf(请输入项目类型:);getchar();objtype=getchar();printf(请输入3(代表取前三名)或5(代表取前五名):);scanf(%d,&n);printf(请按名次顺序输入运动员编号,姓名,学校编号,校名和成绩n);while(n-)q=(LinkList)malloc(LEN);q-objnum=objnum;q-objtype=objtype;printf(请输入运动员编号:);scanf(%d,&q-athnum);printf(请输入运动员姓名:);getchar();scanf(%s,q-athname);printf(请输入学校编号:);scanf(%d,&q-schnum);printf(请输入校名:);getchar();scanf(%s,q-schname);printf(请输入成绩:);scanf(%d,&q-athscore);q-next=NULL;p-next=q;p=q;return(L); (2)统计各学校总分子程序设计int schoolScore(LinkList L)LinkList p;int i;p=L-next;for(i=0;i20;i+)schooli.schoolscore=0;schooli.schoolnumber=-1;while(!p=NULL)for(i=0;ischname);schooli.schoolnumber=p-schnum;schooli.schoolscore=p-athscore;p=p-next;break;else if(schooli.schoolnumber=p-schnum)schooli.schoolscore+=p-athscore;p=p-next;break;return 0;五、测试分析1、创建链表(录入各项目的成绩)在主菜单下,用户输入1并回车,然后输入数据结点的个数并回车,再输入数据,运行结果如图4所示。 图4 链表建立(录入各项目的成绩)2、统计各学校总分在主菜单下,用户输入2并回车,运行结果如图5所示。图5 统计各学校总分3、按学校编号顺序输出在主菜单下,用户输入3并回车,运行结果如图6所示。图6 按学校编号顺序输出的数据4、按学校总分顺序输出在主菜单下,用户输入4并回车,运行结果如图7所示。图7 按学校总分顺序输出的数据5、按男女团体总分排序输出在主菜单下,用户输入5并回车,运行结果如图8所示。图8 按男女团体总分排序输出的数据6、按学校编号查询学校某项目情况在主菜单下,用户输入6并回车,再输入学校编号回车,然后输入项目编号,运行结果如图9所示。图9 按学校编号查询学校某项目情况6、按项目编号查询取得前三名或前五名的学校在主菜单下,用户输入7并回车,再输入项目编号回车,然后输入取名规则,运行结果如图10所示。图10 按项目编号查询取得前三名或前五名的学校8、退出在主菜单下,用户输入0并回车,运行结果如图11所示。图11 退出程序六、源程序清单#include#include#include#define NULL 0#define LEN sizeof(LNode)typedef struct LNode/链表节点数据结构int objnum;char objtype;int athnum;char athname20;int schnum;char schname30;int athscore;struct LNode *next;LNode,*LinkList;/学校情况数据结构struct Schoolint schoolnumber;char schoolname30;int schoolscore;school30;/创建链表LinkList creatLink()LinkList L=(LinkList)malloc(LEN);LinkList p,q;int num,objnum,n;char objtype;L-next=NULL;p=L;printf(请输入男女项目总个数:);scanf(%d,&num);while(num-)printf(请输入项目编号:);scanf(%d,&objnum);printf(请输入项目类型:);getchar();objtype=getchar();printf(请输入3(代表取前三名)或5(代表取前五名):);scanf(%d,&n);printf(请按名次顺序输入运动员编号,姓名,学校编号,校名和成绩n);while(n-)q=(LinkList)malloc(LEN);q-objnum=objnum;q-objtype=objtype;printf(请输入运动员编号:);scanf(%d,&q-athnum);printf(请输入运动员姓名:);getchar();scanf(%s,q-athname);printf(请输入学校编号:);scanf(%d,&q-schnum);printf(请输入校名:);getchar();scanf(%s,q-schname);printf(请输入成绩:);scanf(%d,&q-athscore);q-next=NULL;p-next=q;p=q;return(L);/统计各学校总分int schoolScore(LinkList L)LinkList p;int i;p=L-next;for(i=0;i20;i+)schooli.schoolscore=0;schooli.schoolnumber=-1;while(!p=NULL)for(i=0;ischname);schooli.schoolnumber=p-schnum;schooli.schoolscore=p-athscore;p=p-next;break;else if(schooli.schoolnumber=p-schnum)schooli.schoolscore+=p-athscore;p=p-next;break;return 0;/按学校编号顺序输出void printfSchoolNumber()int i,j,num,flag;printf( 学校编号 校 名 学校总分n);for(i=0;i+)if(schooli.schoolnumber=-1)break;num=school0.schoolnumber;flag=0;for(j=1;j+)if(schoolj.schoolnumber=-1)break;if(schoolj.schoolnumbersco)sco=schoolj.schoolscore;flag=j;printf(%8d%10s%12dn,schoolflag.schoolnumber,schoolflag.schoolname,schoolflag.schoolscore);schoolflag.schoolscore=-1;/按男女团体总分排序输出void printfManWomanScore(LinkList L)LinkList p;int manscore=0,womanscore=0;p=L-next; while(!p=NULL)if(p-objtype=m)manscore+=p-athscore;else womanscore+=p-athscore;p=p-next;printf( 团体 总分n);if(manscore=womanscore)printf( 男生%8dn,manscore);printf( 女生%8dn,womanscore);else printf( 女生%8dn,womanscore);printf( 男生%8dn,manscore);/按学校编号查询学校某项目情况void printfSchoolObject(LinkList L)LinkList p;int scnum,obnum,sum=0;char scname30;p=L-next;printf(请输入要查看的学校编号:);scanf(%d,&scnum);printf(请输入项目编号:);scanf(%d,&obnum);while(p!=NULL)if(p-schnum=scnum&p-objnum=obnum)sum+=p-athscore;strcpy(scname,p-schname);p=p-next;printf( 学校编号 校 名 项目编号 获得总分n); printf(%8d%10s%12d%12dn,scnum,scname,obnum,sum);/按项目编号查询取得前三名或前五名的学校void printfObjectSchool(LinkList L)LinkList p;int obnum,n,i;p=L-next;printf(请输入要查看的项目编号:);scanf(%d,&obnum);printf(请输入3(前三名)或5(前五名):);scanf(%d,&n);for(i=20;i30;i+)schooli.schoolscore=0;schooli.schoolnumber=-1;while(p!=NULL)for(i=20;iobjnum=obnum)strcpy(schooli.schoolname,p-schname);schooli.schoolnumber=p-schnum;schooli.schoolscore=p-athscore;p=p-next;break;else if(schooli.schoolnumber=p-schnum&p-objnum=obnum)schooli.schoolscore+=p-athscore;p=p-next;break;elsep=p-next;break; printf( 项目编号 学校编号 校 名 学校总分n);/*i=20;while(n-)if(schooli.schoolscore!=0)printf(%8d%12d%10s%12dn,obnum,schooli.schoolnumber,schooli.schoolname,schooli.schoolscore);i+; else break;*/p=L-next;while(p-objnum!=obnum)p=p-next;while(n-)printf(%8d%12d%10s%12dn,obnum,p-schnum,p-schname,p-athscore);p=p-next;/主函数int main()LinkList L;int menu;while(menu!=0) printf(*欢迎使用运动会分数统计系统*n); printf( 1.录入各项目的成绩n); printf( 2.统计各学校分数n); printf( 3.按学校编号顺序输出n); printf( 4.按学校总分顺序输出n); printf( 5.按男女团体总分顺序输出n); printf( 6.按学校编号查询学校某项目情况n); printf( 7.按项目编号查询取得前三名或前五名的学校n); printf( 0.退出系统n); printf(*欢迎使用运动会分数统计系统*n);printf(请选择功能0-7:);scanf(%d,&menu);switch(menu)case 1:L=creatLink();printf(各项目的成绩录入完毕!n);break;case 2:schoolScore(L);printf(统计各学校成绩完毕!n);break;case 3: printfSchoolNumber();break;case 4:schoolScore(L);printfSchoolScore();break;case 5:printfMan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路设计项目管理制度
- 机关食堂人员聘用方案(3篇)
- 消防专业分包方案(3篇)
- DB62T 4392-2021 集中式饮用水水源地命名和信息编码规范
- 煤矿采空区灭火方案(3篇)
- 药酒包装销售方案(3篇)
- 微商合作合同协议书
- 房屋代销合同补充协议书
- 秸秆清运措施方案(3篇)
- 基础护理发热课件
- 2024年北京英语考试专题考题及详细答案
- GB/T 24067-2024温室气体产品碳足迹量化要求和指南
- 礼品行业供应链管理研究
- 新人教小学四年级数学下册第6单元小数的加法和减法第1课时《小数的加减法(一)》示范教学设计
- 七年级语文下册第六单元《带上她的眼睛》课件
- 陕2023TJ077 住宅厨房、卫生间装配式L型构件排气道系统图集
- 贝雷梁支架结构计算书
- 红色教育项目财务分析(3篇模板)
- 二手房买卖合同范本下载可打印
- 江苏省南通市如皋市如城实验小学2023-2024学年五年级下学期期末模拟测试语文试卷
- 2021利达JB-QG-LD988EL JB-QT-LD988EL 火灾报警控制器 消防联动控制器调试手册
评论
0/150
提交评论