足球联赛积分管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2010年秋季学期
面向对象课程设计
题目:足球联赛积分管理系统
专业班级:计算机科学与技术二班
姓名:杨森
学号:08240203
指导教师:王燕
成绩:_______________
目录
序言 (3)
摘要 (4)
第一章问题描述 (5)
第二章需求分析 (6)
2.1需求陈述 (6)
2.1.1 开发语言 (6)
2.1.2 运行环境 (6)
2.2 建立对象模型 (6)
2.3 建立功能模型 (6)
第三章概要设计 (7)
3.1 系统设计 (7)
3.1.1 系统分析 (7)
3.1.2 系统设计思想 (8)
3.2 系统类层次及结构图 (9)
第四章详细设计 (10)
第五章源代码 (11)
第六章测试与维护 (28)
设计总结 (30)
参考文献 (31)
致谢 (32)
2
序言
近年来,在计算机软件业,面向对象程序设计的思想已经被越来越多的软件设计人员所接受。不仅因为它是一种最先进的,新颖的计算机程序设计思想,最主要的是这种新的思想更接近人的思维活动,人们利用这种思想进行程序设计时,可以很大程度地提高编程能力,减少软件维护的开销。面向对象程序设计方法是通过增加软件的可扩充性和可重用性来提高程序员的编程能力。
随着计算机在我国广泛而深入的应用,在分析和开发计算机系统软件和应用软件的过程中,迫切需要掌握各种数据结构的描述方法以及相应的处理算法。因此面向对象程序设计知识是计算机相关科学的学生和从事计算机应用的技术人员必备的专业基础知识。著名的瑞士计算机科学家沃思提出:对象+消息=程序。
3
摘要
本文详细介绍了足球联赛分数统计程序的设计与实现,该程序具有足球赛成绩的输入,统计与输出等功能。在课程设计中,程序设计语言采用Visual C++,程序运行平台为Windows XP。对于获得名次的球队在存储其成绩的时候采用了链表的结构,有利于数据的存储与查找。程序通过调试运行,实现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。
关键词足球联赛积分;程序设计;C++
4
第一章问题描述
足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。该设计要求学生以足球联赛为背景,设计、开发一套“足球联赛积分管理系统”软件。
通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练掌握C++语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。同时强调好的程序设计风格,提高解决实际问题的能力。
5
第二章需求分析
2.1需求陈述
本课程设计主要解决在足球联赛上,将各个比赛所有球队成绩输入;成绩查询;以及成绩输出。
2.1.1 开发语言
本课程涉及主要采用了C++。C++语言是在C语言的基础上发展起来的,不仅继承了C 语言的所有特点,而且引入了面向对象的程序设计方法[1]。C++改进了程序涉及思路,将编程方式进化到面向对象进行程序设计这一新的思维过程[2]。C++语言代表着对以往语言之精华的发展和提炼,既支持面向对象的程序设计,也支持结构化的程序设计。它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,提高了程序的可靠性和可读性。函数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。提供了模板机制。模板包括类模板和函数模板两种,它们将数据类型作为参数。
2.1.2 运行环境
Microsoft Visual C++ 6.0。Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。“可视”的资源编辑器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。利用Visual C++ 6.0进行Internet、数据库及多媒体等多方面的程序开发也很容易[3]。
2.2 建立对象模型
将每次比赛所有获得的成绩输入;成绩查询;以及成绩输出封装为一个类,通过函数调用将这些对象连接起来。
2.3 建立功能模型
1)输入每个球队的净胜球,赢球数,输球数,平,胜,负;
2)产生各个球队的名次;
6
第三章概要设计
3.1 系统设计
3.1.1 系统分析
本程序用户只有足球(football)一个类,每一个球队都是这个类的对象。由于联赛中队伍数目不知道,为了便于给程序留下空间,因此用容器进行实现。每次输入两个队伍的比赛成绩,则相应的队的有关数据(比赛场数,赢得场数,平的常数,负的常数,进球数,失球数,积分)即可进行修改,比赛成绩录入完成,调用sout函数直接对积分进行从小到大的排序,从而得出名次。
考虑到在程序中必须对每一个队伍各个数据进行记忆,必须使得每一个都有返回值,其中有一个成员函数是返回成员数据的,这样就可以进行对队伍的数据自身进行操作。队伍中各个数据都是一个结构体,这个结构体中包含队伍的进球数,失球数,赢得场数,输的场数,平的场数,排名和积分。
2、实现注释:各项要求的实现程度、在完成基本要求的基础上还实现了什么功能?
足球类可以对对信息进行初始化(包括进球数,失球数,赢得场数,输的场数,
平的场数积分都初始化为零,)当你进入DOS界面时就会让你输入用户名和密码方可进
入,此操作只能进行三次,若还失败则登录失败,自动退出。如果成功进入欢迎界面
以后你可以选择显示排名,此时可以查阅排名;也可以输入比赛结果,输入后则就可
以进行排名。显示出积分和排名。
7