logo资料库

足球联赛积分系统.doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
摘 要
一、序言
二、系统分析与设计
三、详细设计
四、系统测试
五、软件使用说明书
六、程序设计总结
七、致谢
参考文献
附录
******************* 实践教学 ******************* 你的大学 计算机与通信学院 2011 年春季学期 C++面向对象 课程设计 目: 足球联赛积分系统 xxx 010 xxx 题 专业班级:计算机科学与技术六班 名: 姓 号: 学 指导教师: 成 绩:____________________ 1
摘 要......................................................................................... 3 一、序言....................................................................................... 4 二、系统分析与设计...................................................................1 三、详细设计............................................................................... 2 四、系统测试............................................................................... 5 五、软件使用说明书...................................................................6 六、程序设计总结....................................................................... 7 七、致谢....................................................................................... 8 参考文献....................................................................................... 9 2
摘 要 足球联赛采用主客场双循环赛制,胜一场得 3 分,平局各得 1 分,负一场得 0 分。输入比赛信息后,在屏幕上显示积分排名结果。 排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数 与失球数之差)多者在前,若净胜球相同,则进球数多者在前。 积分表结构要求如下:队名(不超过 15 个字符),已比赛的场数,赢的场数, 平的场数,负的场数,进球数,失球数,积分。积分表放在正文文件中。最近一 轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主 队得分(即进球数),客队得分(即进球数)。 关键词:足球 比赛 积分 3
一、序言 足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0 分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进 球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同, 则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列, 本程序不做这方面要求)。该设计要求学生以足球联赛为背景,设计、开发一套 “足球联赛积分管理系统”软件。 通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练 掌握 C++语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法, 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。同时强调 好的程序设计风格,提高解决实际问题的能力。 4
二、系统分析与设计 本程序是定义了一个 Team 类,每个球队均是该类的对象。将联赛中参赛的队伍数限定 不小于 2,并根据输入顺序自动编号。每输入一次比赛成绩,则相应的队的有关数据(比赛 场次、赢球场次、平的场次、输球场次、进球数、失球数、净胜球、得分)进行记录,且立 即进行更新。当比赛成绩录入完成时,调用联赛排序方法(对象数组作为参数)排出名次并 输出。从而实现题目的要求。 UML 类图: Team +T_name:char[15] +T_matches:int +T_wins:int +T_vs:int +T_loses:int +T_goal:int +T_lose_goal:int +T_win_goal:int +T_marks:int +FindTeam(char TeamNum,CTeam *Teams,int &i) +CharStyle(char strInput[15]) +Sort(int *Array3,int row,int col,int *order) +sTeamSort(int *Teams,int *TeamOrder) *Array1,int TeamName[15],int *Array2,int TeamNum,CTeam 图 1 UML 类图 1
三、详细设计 #include #include "string.h" #include #include "stdlib.h" using namespace std; // 定义球队类 class CTeam { public: char T_name[15]; int T_matches,//比赛场次 //赢球场次 T_wins, // 平的场次 T_vs, T_loses, // 输球场次 T_goal, // 进球数 T_lose_goal, // 失球数 T_win_goal, // 净胜球 T_marks; // 得分 /*************************条件降序排序***************************/ /*输入:待排序的数组(Array1/Array2/Array3)、数组元素脚标(order) /*输出:按降序排序好的数组(Array)、排序完的元素脚标(order) /****************************************************************/ void Sort(int *Array1,int *Array2,int *Array3,int row,int col,int *order) { // 数组值中间变量 // 索引值中间变量 int temp1,temp2,temp3; int ktemp; int i,j; for (j=0;j
Array1[i+1] = temp1; temp2 = Array2[i]; Array2[i] = Array2[i+1]; Array2[i+1] = temp2; temp3 = Array3[i]; Array3[i] = Array3[i+1]; Array3[i+1] = temp3; } else if(Array1[i]==Array1[i+1]) { if(Array2[i]
} } } } // 球队排序,输出球队排序结果 TeamOrder void TeamSort(int TeamNum,CTeam *Teams,int *TeamOrder) { int i; int *Point=new int[TeamNum]; int *win_goal=new int[TeamNum]; int *goal=new int[TeamNum]; //------------------小组 A 排名----------------// for(i=0;i
分享到:
收藏