文档详情

数据结构课程设计--运动会成绩管理系统.DOC

发布:2017-10-12约9.64千字共28页下载文档
文本预览下载声明
目 录 1 需求分析 5 1.1 问题描述 5 1.2 基本要求 5 1.3 测试数据 5 2 概要设计 6 2.1 数据结构 6 2.2 程序模块及之间的调用关系 6 3 详细设计 7 3.1 数据类型定义 7 3.2 函数之间的调用关系 7 3.3 算法设计 8 4 测试结果 9 4.1多组数据输入与输出 9 5 调试分析 13 参考文献 14 附 录 15 1 需求分析 1.1 问题描述 运动会分数统计系统 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20) 1.2 基本要求 (1) 可以输入各个项目的前三名或前五名的成绩; (2) 能统计各系总分, (3) 可以按系编号、系总分、男女团体总分排序输出; (4) 可以按系编号查询系某个项目的情况;可以按项目编号查询取得前三或前五名的系。 1.3 测试数据 (1) 输入:进入输入界面,根据提示,输入参赛学校个数,再输入:男子组和女子组个数。再根据提示的选择菜单1:输入各项中的获奖学校。 (2) 输入:2查看输出结果。 (3) 输入:3查看输出结果。 (4) 输入:4查看输出结果。 (5) 输入:5查看输出结果。 (6) 输入:6查看输出结果。 (7) 输入:7根据提示输入系编号和项目编号。 (8) 输入:8根据提示输入系编号和项目编号。 (8) 输入:9,退出。 2 概要设计数据结构程序模块 3 详细设计数据类型定义struct node { int num; //分数 }; struct node *f[22];//显示分数位置的矩阵数组 struct nod { int ke; //固定列(常数) int num; //对应的分数 }; int ha; //学校代号 struct nod *de; //得分 3.3 函数之间的调用关系 void(*g[])()={input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0}; while(1) { while(choos0||choos8) choos=choose(); (*g[choos])(); printf(\n); choos=choose(); } 4 测试结果 4.1多组数据输入与输出: 输入参赛学校数量,以及男子组、女子组的组数。 输入1,将各个项目的胜出规则以及胜出学校编号输入并存储,如下图 图4-1 输入2,统计各学校总分,如下图 图4-2 输入3,按学校编号排序,如下图 图4-3 输入4,按学校总分排序输出,如下图 图4-4 输入5,按男团体总分排序输出,如下图 图4-5 输入6,按女团体总分排序输出,如下图 图4-6 输入7,按学校编号查询学校某个项目情况,如下图 图4-7 输入8,按项目编号查询取得名次的学校,如下图 图4-8 5 调试分析 本程序能够查询运动会各个比赛项目的前三名或前五名的成绩,并统计男子组、女子组团体总成绩,以及各学院总成绩以及排名等。本程序相对来说比较容易看明白,其中涉及到的一些函数相对来说比较容易。通过调试,运行,基本上达到了要求。 本系统还需改进的地方有:利用数组存储数据,浪费了存储空间,可以改用链表存储数据,另外数组存储的数据,插入和删除都比较麻烦。 参考文献 [1] 郑莉,董渊,张瑞丰.C++程序设计 [M].清华大学出版社, 2003. [2] 严蔚敏,吴伟民.数据结构 [M].清华大学出版社,时间:2006. [3] 严蔚敏,吴伟民,米宁.数据结构教程上机实验指导 [M].清华大学出版社,2006. [4] 网址: . 附 录 #include stdio.h #include stdlib.h #include ctype.h #includestring.h int a,b,c,d,i,j; struct node { int num; }; struct node *f[22]; void exit0() /*创建文档*/ { FILE *fp; int k; alp:if((fp=fopen(sore.txt,w))==NULL) { printf(创建文件失败\n); printf( 1*****重试\n);
显示全部
相似文档