开始 进入主菜单 菜单选项(0—4) 1.信息输入 2.统计输出 3.排序输出 4.信息查询 5.退出 结束
3、详细设计
(1)项目数据表:
运动会系统先制定本次运动会所需的参赛项目。本数据表根据要求设计存储每个项目的编号、要取的名次、各个名次名称及各名次对应的分数。用于对以后项目情况的统计已及查询。其中inum,top,range由输入信息输入,而mark有range和top决定。 typedef struct {
int inum; /*项目编号*/
int top; /*取名次的数目*/ int range[5]; /*名次*/ int mark[5]; /*分数*/
}itemnode; /*存放项目信息*/
- 4 -
(2)学校数据表:
本数据表根据要求储存了各个参赛学校的总体情况,包括学校的编号、学校总分、男子团体总分、女子团体总分,并且包括项目数据数组t[n]。其中snum和t[n]中部分数据由输入信息输入,而其他三项内容score,mscore,wscore将由系统进行自动统计。 typedef struct {
int snum; /*学校编号*/
int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*女团体总分*/ itemnode t[M+W]; /*项目数组*/ }snode; /*存放学校信息*/
snode a[N]; /* 定义一个学校数组*/ 这二个数据表相关联接,a[n]中包括t[n],形成一个整体。
(3)模块划分
1、Void menu(int n,int m,int w) 功能是提供界面窗口
2、Void savetofile() 功能是保存输入的运动会信息到file文件 3、Void readfromfile() 功能是从file文件中读取运动会信息 4、Void input(int n,int m,int w) 功能是输入信息并统计
5、Void output(int n,int m,int w) 功能是按学校、项目输出统计信息 6、Void sortput(int n,int m,int w) 功能是按四种方法排序并输出结果 7、Void search(int n,int m,int w) 功能是按两种方法查询并输出结果
4、调试分析与测试结果
(1)测试数据
测试取学校个数为3,男子项目个数2.女子项目个数1
- 5 -
(2)测试结果
1、主菜单界面
项目 学校 编号1(男) 编号2(男) 编号3(女) 取前3 取前5 1、4 2、5 3 取前5 3、4 1、5 2 编号名次 3 1 编号名次 2 2 编号名次 1 3 2、信息输入运行测试
- 6 -
a).信息输入
b).输入完成
- 7 -