数据结构课程设计--运动会成绩管理系统.DOC
文本预览下载声明
目 录
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);
显示全部