北京邮电大学课程设计报告
课程设计 面向对象程序设计学 院 名称 与实践2 学生姓名 -- 班 级 计算机学院 -- 指导教师 学 号 双锴 -- 课 程 设 计 内 容 实验目的:巩固C++的教学内容,采用面向对象的语言实现程序的编写 实验内容:开发一个足球俱乐部的管理程序。 第一版本: 实现对俱乐部的增删改查 实现对所有球员的属性进行简单搜索 支持球员在不同俱乐部之间的买卖 第二版本: 在第一版本的基础上加入文件存取和高级搜索的功能 第三版本: 在第二版本的基础上使用socket远程通信技术,采用客户端和服务端的方式实现远程操作。 实验方法:使用C++语言,采用面向对象的编程方法 团队分工:个人完成 详见附页 学生 课程设计 报告 (附页) 遵照实践教学大纲并根据以下四方面综合评定成绩: 1、课程设计目的任务明确,选题符合教学要求,份量及难易程度 2、团队分工是否恰当与合理 3、综合运用所学知识,提高分析问题、解决问题及实践动手能力的效果 4、是否认真、独立完成属于自己的课程设计内容,课程设计报告是否思路清晰、文字通顺、书写规范 课 程 设 计 成 绩 评 定 评语: 成绩: 指导教师签名: 年 月 日
<足球俱乐部管理程序>
目录
第一版本(试用版) ....................................................................................................................... 3
一.开发环境 Visual Studio 2010 ................................................................................... 3 二.实验描述 ........................................................................................................................... 3
三.数据结构 ........................................................................................................................... 3 四.具体功能实现 ................................................................................................................... 5
1. 球员和员工信息的查找和修改 ............................................................................... 5 2. 俱乐部的增删改查 ................................................................................................... 6 3. 管理机构的具体功能 ............................................................................................... 8
(1)球员信息的查找 ............................................................................................. 9 (2)俱乐部信息的查找 ....................................................................................... 10 (3)球员的转会(买卖球员) ........................................................................... 10 (4)更改俱乐部信息 ........................................................................................... 11 (5)员工信息的查找 ........................................................................................... 11
五.测试报告 ......................................................................................................................... 12 第二版本(专业版) ..................................................................................................................... 15
一.实验描述 ......................................................................................................................... 15 二.改进功能的实现 ............................................................................................................. 16
1. 文件存取功能 ............................................................................................................ 16 2. 高级搜索功能 ............................................................................................................ 17 三.测试报告(高级搜索) ................................................................................................. 18 第三版本(企业版) ..................................................................................................................... 20
一.实验描述 ......................................................................................................................... 20 二.Socket说明 ..................................................................................................................... 20
1. 服务端的操作过程为: ............................................................................................ 20 2. 客户端的操作过程为: ............................................................................................ 22 三.具体实现 ......................................................................................................................... 24 四.程序演示 ......................................................................................................................... 25 五.实验总结 ......................................................................................................................... 26
第一版本(试用版)
一.开发环境 Visual Studio 2010
二.实验描述
给相关管理机构开发一个足球俱乐部的管理程序,实现对众多足球俱乐部管理的基本功能,包括:
? 俱乐部的增删改查,其中俱乐部的属性包括:俱乐部的名称,现金,其下的
球员和普通行政人员。
? 实现对所有球员的各项属性(包括姓名、年龄、能力、年薪、转会费、进球
总数、服役年限)的简单搜索,支持输入多个条件,条件之间用&&连接,如“年龄不大于25且服役年限大于5年的球员”的查询表达式为 ! (@age>25)&& @experience>5
? 支持球员在不同俱乐部间的买卖,买卖条件为:买方俱乐部的现金>=球员
的转会费。交易完成后,卖方得到其转会费。
三.数据结构
把球员看作一个对象,记作名为player的一个类,这个类的属性有:姓名、年龄、能力、年薪、转会费、进球总数和服役年限等;类似地,把员工也看作一个对象,记作名为staff的一个类,这个类的属性有姓名、年龄、能力等。则球员和员工都具有姓名、年龄、能力,工作俱乐部这些共同属性,那么球员和员工
可以看作是同一个基类的派生。由于员工所拥有的属性球员都有,且球员拥有比员工更多的属性,为了简化代码,球员可以看作是员工类的一个派生。即:
基类(staff类):姓名,年龄,年薪,工作俱乐部
派生 player类: 服役年限,能力,转会费 把俱乐部看作一个对象,记为club的一个类,俱乐部的属性有:俱乐部的
名称,现金,其下球员和员工。类似地,把这个管理机构看作一个对象,记为boss的一个类,则boss的属性有:所有俱乐部,所有员工和所有球员。那么club和boss都具有球员和员工两个属性,可以看作是同一个基类的派生。定义一个基类为baseClub,这个基类的属性有球员和员工,即:
(基类)baseClub类: 球员数 员工数 Staff类数组 Player类数组 派生 派生
Club类 名字,资金 Boss类 Club类数组