北邮C++大作业-足球俱乐部实验报告(三个版本齐全) 下载本文

(1)球员信息的查找

方式1利用一个循环便可查找到该管理机构内(也就是所有俱乐部内)的所有球员的信息;

方式2通过输入球员姓名,调用players[i].findMember()h函数来获得相应的球员信息(players[i].printInfo())。例:

方式3是根据球员的各项属性进行相应的查找,例:

该查找功能的实现思路为: 首先,用一个字符串接受用户的输入,然

后查找该字符串出现的 ! 或 @。每出现一次,作为一个条件进行相应的判断,并将所得结果写入一个整型数组int result[]中,也就是将满足条件的球员的下标记录在这个数组内。result[]初始化为所有球员在数组内的下标,每次对一个条件做判断的时候都是从result[]数组的球员中找满足新条件的球员,然后对result[]数组进行更改,直到所有条件查找完毕,输出result[]数组中所代表的球员信息。具体实现可见代码。

其中dealOrder()用于处理每一个条件,这里用用到sscanf()函数对字符

串做格式化读取。就可以较为方便地读取到属性名称和对应数据。

(2)俱乐部信息的查找

方法1利用一个循环便可看到所有俱乐部的信息,

方法2与上类似,利用findClub()函数来得到相应的俱乐部信息(clubs[i].printMember()打印),例:

(3)球员的转会(买卖球员)

例:

具体的调用函数为boss类的成员函数transferMember();这里会调用到club类的球员转换函数,即:

(4)更改俱乐部信息

这里的为俱乐部更名和解散俱乐部都需要改变俱乐部的名字(调用到

clubs[i].renewName(char*s))和其下员工和球员的工作俱乐部(players[i].changeWork(char*s)),在这里规定解散俱乐部的时候球员依然留在该机构中,只是不再属于任何俱乐部。

购买新的球员(机构内原不存在) 添加球员可以分为

向其他俱乐部买入球员

其中添加新的球员需要详细输入球员的各项属性,如:

删除球员只需要在俱乐部中找到该球员再调用相应的函数clubs[i].deleteMember(i,FP)即可。

(5)员工信息的查找

只有一种查找方式,就是输出当前所有员工的信息,即:

五.测试报告

查找 球员 简单搜索 输入姓名 经检验 结果正确 经检验 结果正确 经检验 结果正确 经检验 结果正确