运动会分数统计数据结构课程设计(含源代码)

返回 相似
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
点击查看更多>>
资源描述:
计算机学院信管专业 数据结构课程设计 题 目 运动会分数统计 班 级 姓 名 学 号 同组人姓名 起 迄 日 期 课程设计地点 指导教师 评阅意见 成绩评定 评阅人 日期 完成日期2013年12月 目录 1、需求分析02 2、概要设计03 3、详细设计04 4、调试分析和测试结果05 5、总结13 6、参考文献14 7、致谢14 8、附录14 1、需求分析 (1)任务 参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m1mw。不同的项目取前五名或前三名积分;取前五名的积分分别为7、5、3、2、1,前三名的积分分别为5、3、2;哪些取前五名或前三名由学生自己设定。(m include include define N 20 /*学校最大数目*/ define M 20 /*男子项目最大数目*/ define W 20 /*女子项目最大数目*/ typedef struct { int inum; /*项目编号*/ int top; /*取名次的数目*/ int range[5]; /*名次*/ int mark[5]; /*分数*/ }itemnode; /*存放项目信息*/ typedef struct { int snum; /*学校编号*/ int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*女团体总分*/ itemnode t[MW]; /*项目数组*/ }snode; /*存放学校信息*/ snode a[N]; /* 定义一个学校数组*/ void menuint n,int m,int w /*菜单函数*/ { int c; void inputint n,int m,int w; void outputint n,int m,int w; void sortputint n,int m,int w; void searchint n,int m,int w; printf“\t\t\t欢迎使用\t\t\t\t\n\n“; printf“\t***********运动会分数统计系统***********\n\n“; printf“\t\t*******1.信息输入*******\n“; printf“\t\t*******2.统计输出*******\n“; printf“\t\t*******3.排序输出*******\n“; printf“\t\t*******4.信息查询*******\n“; printf“\t\t*******0.退出系统*******\n\n“; printf“\n\n“; printf“请选择要实现步骤的编号0--4“; scanf“d“, switchc { case 1 inputn,m,w;break; case 2 outputn,m,w;break; case 3 sortputn,m,w;break; case 4 searchn,m,w;break; case 0 printf“谢谢使用,再见\n“; exit0; default printf“输入错误,请重试\n“; menun,m,w; } } void savetofile /*信息存入文件file*/ { FILE *fp; int i; iffpfopen“file.txt“,“w“NULL { printf“cannot open the file\n“; return; } fori0;ia[j].snum { ktemp[i]; temp[i]temp[j]; temp[j]k; } } /* 用冒泡排序方法排序*/ fori0;in;i { printf“学校编号d 学校总分d 男团总分d 女团总分d\n“,a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore; } /*按学校编号输出*/ break; case 2 fori0;in;i temp[i]i; fori0;in;i { forji1;jn;j ifa[temp[i]].scorea[j].score { ktemp[i]; temp[i]temp[j]; temp[j]k; } } /* 用冒泡排序方法排序*/ fori0;in;i { printf“学校编号d 学校总分d 男团总分d 女团总分d\n“,a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore; } /*按学校总分输出*/ break; case 3 fori0;in;i temp[i]i; fori0;in;i { forji1;jn;j ifa[temp[i]].mscorea[j].mscore { ktemp[i]; temp[i]temp[j]; temp[j]k; } } /* 用冒泡排序方法排序*/ fori0;in;i { printf“学校编号d 学校总分d 男团总分d 女团总分d\n“,a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore; } /*按男团总分输出*/ break; case 4 fori0;in;i temp[i]i; fori0;in;i { forji1;jn;j ifa[temp[i]].wscorea[j].wscore { ktemp[i]; temp[i]temp[j]; temp[j]k; } } /* 用冒泡排序方法排序*/ fori0;in;i { printf“学校编号d 学校总分d 男团总分d 女团总分d\n“,a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore; } /*按女团总分输出*/ break; default printf“输入错误,请重试\n“; } printf“请选择 1 返回主菜单 0继续“; /*返回菜单或继续排序*/ scanf“d“, printf“\n“; } whileq0; printf“\n“; ifq0 menun,m,w; } void searchint n,int m,int w /*查询函数*/ { readfromfile; int c,i,j,k,d,l,q0; printf“\t****************查询系统****************\n\n“; printf“\t\t****1.按学校编号查询****\n“; printf“\t\t****2.按项目编号查询****\n“; printf“\n\n“; do { k-1;d-1;l-1; printf“请选择要实现功能的编号1--2“; scanf“d“, switchc { case 1 printf“要查询的学校编号“; /*查找学校编号下标*/ scanf“d“, fori0;in;i { ifa[i].snumc ki; } ifk-1 printf“错误这个学校没有参加此次运动会\n“; else { printf“要查询的项目编号“; /*查找项目编号下标*/ scanf“d“, forj0;jmw;j { ifa[k].t[j].inumc dj; } ifd-1 printf“此次运动会没有这个项目\n“; else /*显示结果*/ { printf“这个项目取前 d名,该学校的成绩如下\n“, a[k].t[d].top; fori0;i5;i ifa[k].t[d].range[i]0 printf“名次d\n“,a[k].t[d].range[i]; } } break; case 2 printf“要查询的项目编号“; /*查找项目编号下标*/ scanf“d“, fori0;in;i forj0;jmw;j ifa[i].t[j].inumc lj; ifl-1 printf“此次运动会没有这个项目\n“; else /*显示结果*/ { printf“该项目取前 d名,取得名次的学校\n“,a[0].t[l].top; fori0; in;i forj0;j5;j ifa[i].t[l].range[j]0 printf“学校编号d,名次d\n“,a[i].snum,a[i].t[l].range[j]; } break; default printf“输入错误,请重试\n“; } printf“请选择1.返回主菜单 0.继续“; /*返回菜单或继续查询*/ scanf“d“, printf“\n“; } whileq0; printf“\n“; ifq0 menun,m,w; } void main /*主函数*/ { int n,m,w; printf“\t\t\t欢迎使用\t\t\t\t\n\n“; printf“\t***********运动会分数统计系统***********\n\n“; printf“请先输入运动会主要信息\n“; /*设计运动会主要数据个数*/ printf“输入学校个数“; scanf“d“, printf“输入男子项目个数“; scanf“d“, printf“输入女子项目个数“; scanf“d“, menun,m,w; } - 29 -
展开阅读全文
收藏 下载该资源

关于我们                               联系我们


[email protected] 2008-2013        长沙景略智创信息技术有限公司版权所有
经营许可证编号:湘ICP备17000430