- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运动会比赛计分系统--1
运动会比赛计分系统
一、设计目的和任务
要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数
各项目名次取法有如下几种:
取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;系统以菜单方式工作由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。所有信息记录完毕后,用户可以查询各个学校的比赛成绩查看参赛学校信息和比赛项目信息等。
二、总体设计
编写目的:根据要求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。
2.1总体设计
该系统可以按功能进行模块划分,其模块图如下:
系统模块图
其中:
****菜单选择模块完成用户命令的接收,此模块是运动会比赛计分系统的入口,用户所要进行的各种操作均需在此模块中进行选择而调用其他模块实现相应的功能;
****信息输入模块完成学校、比赛项目(以及运动员的信息)输入功能,输入信息包括各参赛学校的编号、名称和每个学校在各比赛项目的编号、类型、名称、获奖次数、排名,以及(运动员姓名)等必要信息;
****计分模块是对输入信息的处理,是一种必要的辅助模块;
****输出模块包括:1不输出信息,读入文件中;2输出信息,不读入文件。其中输出的信息有:学校编号、名称以及其所获奖项的项目编号、类型、名称、排名、男子总分、女子总分还有学校的总分等;
****文件读入模块是为了满足客户需要,为了储存信息,方便使用;
****信息查询模块完成对各信息的查询,查询时对应有两种选择以确定用户进行哪种查询。
2.2 数据结构
本系统中主要的数据结构就是以学校为结点建立一个链式存储结构,结点中包括学校编号、学校名称、男子项目总分、女子项目总分、学校总分;再定义一个新的结构体是以项目信息为基础,通过指针实现学校来对项目信息的调用,无论是计分,输出还是查找均以链式存储结构来实现。
数据结构:
学校信息:
typedef struct school
{
int sclnum;//学校编号
char sclname[20];//学校名称
sc a[m+w];
int mscore;//男子团体总分
int wscore;//女子团体总分
int sum;//学校项目总分
struct school *next;
}scl;
scl *p,*q,*head,*g,*s,*u;//全局指针变量
项目信息(及运动员信息):
typedef struct sco
{
int mark[5];//分数
int itmnum;//项目编号
int itmkind;//项目类型
char itmname[20];//项目名称
char name[10];//运动员姓名
int l; //获奖名次数
int range[5];//排名
}sc;
2.3程序流程
系统的执行应从输入信息功能开始,再执行菜单功能,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:
编写目的:
根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。
三、详细设计:
对于总设计时的系统模块功能图,各个功能模块的处理逻辑如下:
1)菜单选择模块:
调用void menu() //菜单函数
给出信息提示;
绘制菜单(包含查询、退出);
提示菜单选择并输入变量;
根据输入变量的值调用不同的模块函数;
以下是截取的菜单函数:
void menu()
{
system(cls);
printf(★================运动会比赛计分系统=================★\n);
printf(*********************** welcome *********************\n);
printf(********************* *** 编制 ********************\n);
printf(** 1-------------------键盘输入 **\n);
printf(** 2-------------------文件读入 **\n);
printf(** 3---------------------输出
您可能关注的文档
- 软件工程试题与答案.doc
- 软件工程课程设计要求(包括题目的选择).doc
- 软件工程随堂练习.doc
- 软件工程课自测题及答案2.doc
- 软件工程试题和答案.doc
- 软件工程课程设计报告.doc
- 软件开发服务合同.doc
- 软件工程音乐网站.doc
- 软件测试停止标准.doc
- 软件测试基础知识学习.doc
- 第三单元解决问题的策略 三年级下册数学高频考点重难点讲义(苏教版)(1).docx
- 4.4 解比例 数学六年级下册同步培优讲义(苏教版).docx
- 第四单元《根据方向与距离确定物体位置》(教案)五年级下册数学青岛版.docx
- (奥数典型题)第三讲 分解质因数 五年级下册数学思维拓展提升讲义(人教版).docx
- 2.2:2、5、3的倍数-人教版五年级数学下册第二单元:因数和倍数.docx
- 第六单元正比例和反比例 六年级下册数学高频考点重难点讲义(苏教版).docx
- 第二单元除数是一位数的除法 三年级下册数学高频考点重难点讲义(人教版).docx
- 第二单元-认识三角形和四边形 四年级数学下册提升(北师大版).docx
- 第一单元观察物体(三)五年级下册数学高频考点重难点讲义(人教版).docx
- 第九单元 数学广角—推理 二年级数学下册重难点知识点(人教版).docx
文档评论(0)