运动会比赛计分系统 --1

上传人:第*** 文档编号:30591455 上传时间:2018-01-30 格式:DOC 页数:18 大小:209KB
返回 下载 相关 举报
运动会比赛计分系统 --1_第1页
第1页 / 共18页
运动会比赛计分系统 --1_第2页
第2页 / 共18页
运动会比赛计分系统 --1_第3页
第3页 / 共18页
运动会比赛计分系统 --1_第4页
第4页 / 共18页
运动会比赛计分系统 --1_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《运动会比赛计分系统 --1》由会员分享,可在线阅读,更多相关《运动会比赛计分系统 --1(18页珍藏版)》请在金锄头文库上搜索。

1、运动会比赛计分系统一、设计目的和任务要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前 5 名:第一名得分 7 分,第二名得分 5,第三名得分 3,第四名得分 2,第五名得分1;取前 3 名:第一名得分 5,第二名得分 3,第三名得分 2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。二、总体设计编写目的:根据要求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面

2、文档总体设计说明书,为下一步进行详细设计做准备。2.1 总体设计 该系统可以按功能进行模块划分,其模块图如下:菜单模块计分模块输入模块输出模块文件读入模块查找模块结束系统模块图其中:*菜单选择模块完成用户命令的接收,此模块是运动会比赛计分系统的入口,用户所要进行的各种操作均需在此模块中进行选择而调用其他模块实现相应的功能;*信息输入模块完成学校、比赛项目(以及运动员的信息)输入功能,输入信息包括各参赛学校的编号、名称和每个学校在各比赛项目的编号、类型、名称、获奖次数、排名,以及(运动员姓名)等必要信息;*计分模块是对输入信息的处理,是一种必要的辅助模块;*输出模块包括:1 不输出信息,读入文件

3、中;2 输出信息,不读入文件。其中输出的信息有:学校编号、名称以及其所获奖项的项目编号、类型、名称、排名、男子总分、女子总分还有学校的总分等;*文件读入模块是为了满足客户需要,为了储存信息,方便使用;*信息查询模块完成对各信息的查询,查询时对应有两种选择以确定用户进行哪种查询。2.2 数据结构本系统中主要的数据结构就是以学校为结点建立一个链式存储结构,结点中包括学校编号、学校名称、男子项目总分、女子项目总分、学校总分;再定义一个新的结构体是以项目信息为基础,通过指针实现学校来对项目信息的调用,无论是计分,输出还是查找均以链式存储结构来实现。数据结构:学校信息:typedef struct sc

4、hoolint sclnum;/学校编号char sclname20;/学校名称sc am+w;int mscore;/男子团体总分int wscore;/女子团体总分int sum;/学校项目总分struct school *next;scl;scl *p,*q,*head,*g,*s,*u;/全局指针变量项目信息(及运动员信息):typedef struct scoint mark5;/分数int itmnum;/项目编号int itmkind;/项目类型char itmname20;/项目名称char name10;/运动员姓名int l; /获奖名次数int range5;/排名sc;

5、2.3 程序流程系统的执行应从输入信息功能开始,再执行菜单功能,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:开始执行菜单模块选择输入学校编号、名称输入项目编号、名称、获奖名次数排名、运动员姓名选择按学校信息输出其获奖项目信息按学校排名输出学校和项目信息按项目信息输出各个获奖学校信息计分函数n0?文件读入函数结束编写目的:根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。三、详细设计:对于总设计时的系统模块功能图,各个功能模块的处理逻辑如下:1)菜单选择模块:调用 void me

6、nu() /菜单函数给出信息提示;绘制菜单(包含查询、退出) ;提示菜单选择并输入变量;根据输入变量的值调用不同的模块函数;以下是截取的菜单函数:void menu() system(cls);printf(=运动会比赛计分系统=n);printf(* welcome *n);printf(* * 编制 *n);printf(* 1-键盘输入 *n);printf(* 2-文件读入 *n);printf(* 3-输出 *n);printf(* 4-查询 *n);printf(* 5-退出 *n);printf(*男子前五名依次得分:7 分 5 分 3 分 2 分 1 分*n);printf(*

7、女子前三名依次得分:5 分 3 分 2 分 *n);printf(*n);printf(=n);2) 信息输入模块:调用 scl *input() /信息输入函数在输入信息时要求按照文字提示进行输入,要输入的信息包括:参赛学校编号,名称以及比赛项目的编号,名称,获奖名次,排名, (运动员姓名) 。建立单链表,以链式存储结构来存放学校,项目等数据;以下是输入的内容与形式:scanf(%d,/输入学校编号scanf(%s,p-sclname);/输入学校名称for(x=0;xax.itmnum);/输入项目编号scanf(%d,/输入项目类型 scanf(%s,p-ax.itmname);/输入项

8、目名称scanf(%d,/输入获奖名次数for(i=0;iax.l;i+) scanf(%d,/输入运动员的名次scanf(%s,p-ax.name); /运动员姓名输入结束;在输入结束结束后要调用计分模块。3)计分模块:计分模块主要是依据输入信息的不同予以判断,并以不同的计分方式来计数将节点中的数据改变,并保存。if(k=3) /女子项目取前三名else /男子项目取前五名4)信息输出模块:根据用户的需要与选择,给出两种方式:1、存入文件,不输出;2、输出,不存入文件。printf(*1-不输出,存入文件n);printf(*2-输出,不存入文件n);scanf(%d,switch(co)C

9、ase 1:运用文件存储内容;break;Case 2:输出相应信息;break;5)文件读入模块:!此模块只是用来读入文件中的信息,无实际意义,只是满足题目要求,需谨慎使用。6)信息查询模块:和输出模块相似,同样有两种选择:1、按学校编号查询;2、按项目编号查询。printf(按学校查找请输入 1,按项目查找请输入 2n);scanf(%d,if(cha=1)printf(请输入你要查询的学校编号:);scanf(%d,while(q!=NULL) 按学校输出相应信息;if(cha=2)printf(请输入你要查询的项目编号:);scanf(%d,while(q!=NULL) 按项目输出相应

10、信息;四、调试与测试1.调试方法;上机运行各个模块,分别调试,最后综合运行;2.测试结果的讨论与分析;首先必须要对程序进行数据信息输入,对于所需不同的信息程序会自动提示用户进行相关操作,再输出相关信息,对于一些错误的操作可能会造成程序运行错误的后果,因此在输入信息的时候用户请务必细心操作。其数据与运行结果如下图:运行结果:输入 1输入:1huada1 111 taiqiu 3 1 zhao 2 qian 3 sun2 222 ticao 1 2 li2dongda1 111 taiqiu 2 4 zhou 5 wu2 222 ticao 2 1 feng 3 chen输出:输入:3输出:输入:

11、2输出:输入:4输出:输入:1输出:输入;1输出:输入:4输出:输入:2输出:输入:2输出;(因为只定义了两个学校,所以结果只有两个学校的名称)输入:3输出:输出:输入:2输出:结束程序运行!五、源程序清单#include#include#define n 2 /参赛学校数#define m 1 /男子竞赛项目数#define w 1 /女子竞赛项目数typedef struct scoint mark5;/分数int itmnum;/项目编号int itmkind;/项目类型char itmname20;/项目名称char name10;/运动员姓名int l; /获奖名次数int rang

12、e5;/排名sc;typedef struct schoolint sclnum;/学校编号char sclname20;/学校名称sc am+w;int mscore;/男子团体总分int wscore;/女子团体总分int sum;/学校项目总分struct school *next;scl;scl *p,*q,*head,*g,*s,*u;/全局指针变量/*/*菜 单 函 数*/void menu() system(cls);printf(=运动会比赛计分系统=n);printf(* welcome *n);printf(* * 编制 *n);printf(* 1-键盘输入 *n);printf(* 2-文件读入 *n);printf(* 3-输出 *n);printf(* 4-查询 *n);printf(* 5-退出 *n);printf(*男子前五名依次得分:7 分 5 分 3 分 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号