高级语言程序设计运动会分数统计系统论述.doc

高级语言程序设计运动会分数统计系统论述.doc

高级语言程序设计 ――――《运动会分数统计系统》 引言 本课程设计主要解决在运动会上,该程序用于运动会上。本文详细介绍了运动会分数统计程序的设计与实现,该程序具有运动会成绩的输入,统计与输出等功能。在课程设计中,程序设计语言采用Visual C++,程序运行平台为Windows XP。程序通过调试运行,实现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。 需求分析 为了简便地对运动会的报名、成绩的录入和统计,设计开发了本系统,以解决需求。当然,本系统只是一个较为简单的系统,仍然存在着一些操作上以及显示上的问题,我将在以后的学习中进行完善。 问题描述:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:5、4、3、2、1,前三名的积分分别为:3、2、1;哪些取前五名或前三名由学生自己设定。(m=20,n=20) 功能要求: 可以输入各个项目的前三名或前五名的成绩; 能统计各学校总分, 可以按学校编号或名称、学校总分、男女团体总分排序输出; 可以按学校编号查询学校某个项目的情况;可以按项目编号查 询取得前三或前五名的学校。 输出形式:有中文提示,各学校分数为整形。 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。 3、概要设计(或总体设计) 3.1数据结构描述 本课程涉及主要采用了C++。C++语言是在C语言的基础上发展起来的,不仅继承了C语言的所有特点,而且引入了面向对象的程序设计方法。C++改进了程序涉及思路,将编程方式进化到面向对象进行程序设计这一新的思维过程。C++语言代表着对以往语言之精华的发展和提炼,既支持面向对象的程序设计,也支持结构化的程序设计。它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,提高了程序的可靠性和可读性。 函数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。提供了模板机制。模板包括类模板和函数模板两种,它们将数据类型作为参数。 3.2模块设计 本系统的流程图如下: Y N N N Y Case1 Case3 N Y YY 开始-初始化 输入 输入某项目各名次成绩 输入学校及男女项目范围 继续输 查询各学校成绩 Case2 查询团体总分 成绩查询 输出查询学校成绩 继续 结束—退出 继续 详细设计及实现 本系统采用的存储结构为结构化设计理念,这是数据库的最基本的设计要求,主要包括三个数据表: 4.1项目数据表: 运动会开始前必须详细制定本次运动会所需的参赛项目为接下来报名、场地的准备提供依据。本数据表根据要求设计存储每个项目的编号、名称、要取的名次以及各个名次对应的学校的编号,在初始输入时仅输入项目编号、名称及要取的名次,而各名次对应的学校编号将由系统自动统计。这也有利于以后项目情况的查询。 typedef struct { int itemnum; //项目编号 int top; //取名次的数目 int range[5]; //名次 int mark[5]; //分数 }itemnode; //定义项目结点的类型 4.2学校数据表: 本数据表储存了各个参赛学校的总体情况,包括学校的编号、名称、男子团体总分、女子团体总分和学校总分。其中学校编号和名称是提前输入的,而其他三项内容将由系统进行自动统计。 typedef struct { int schoolnum; //学校编号 int score; //学校总分 int mscore; //男团体总分 int wscore; //女团体总分 itemnode c[m+w]; //项目数组 }headnode;//定义头结点类型 4.3单项数据表: 本数据表是对各个学校的报名情况及成绩进行汇总,为了操作方便,本数据表只包含了学校的编号、项目的编号以及其在比赛中的成绩。 typedef struct /*单项成绩*/ { int schoolnum; /*学校编号*/ int itemnum; /* 项目编号*/ int xmch; /*项目成绩*/ }danx; danx dx[Y]; 这三个数据表之间由项目编号和学校编号进行相关联接,形成一个整体。 5、调

文档评论(0)

1亿VIP精品文档

相关文档