文件名称:足球俱乐部
文件大小:5.73MB
文件格式:ZIP
更新时间:2020-03-22 09:58:39
北邮大作业
《面向对象程序设计与实践2》上机题目 题目一:足球俱乐部管理程序(试用版) (30分) 描述:足球俱乐部包括球员、普通行政人员。球员有姓名、年龄、能力、年薪、转会费、进球总数、服役年限等重要参数;普通行政人员有姓名、年龄、能力、年薪等参数。你需要给相关管理机构开发一个管理程序,实现对众多足球俱乐部管理的基本功能。具体功能包括: 俱乐部的增删改查,俱乐部的属性包括名称、现金、其下人员; 可以对所有球员的各项属性进行简单搜索,支持输入多个条件,条件之间用&&连接,例如: 1. “年龄不大于25且服役年限大于5年且进球数大于100的球员”,查询表达式:!(@age>25) && @experience>5 && @kick>100 支持球员在不同俱乐部间的买卖,买卖需符合以下条件:作为买方的俱乐部的现金>=球员的转会费,交易完成后,卖方将得到转会费。 要求: 必须采用面向对象的方式,使用类组织数据结构,并注意类的继承关系; 推荐使用容器类作为内部数据结构,可自行选择合适的容器类; 提供字符操作界面,能够提供图形界面的将适当加分(加分不超过5分); 题目二:足球俱乐部管理程序(专业版) (30分) 描述:在题目一的程序基础上,增加文件存储和高级搜索功能。 文件存取功能:程序启动后自行从自定义的文件中读取所有俱乐部记录,并且各种增删改查操作后能够自动保存更新后的数据。 高级搜索功能:可以对所有球员的各项属性进行条件搜索,搜索采用表达式输入的方式(表达式支持 &&、||、!、括号、<、=、>),并能实现对球员姓名的模糊查找(运算符为~),输出球员的详细信息。 例如: 1. “年龄不大于25且服役年限大于5年,或者进球数大于100的球员”,查询表达式:( !(@age>25) && @experience>5) || @kick>100 2. “属于俱乐部A、B的所有球员”,查询表达式:@club=A || @club=B 3. “名字中含有abc的所有球员”,查询表达式:@name~abc 要求: 必须在题目一的代码基础上来修改; 必须支持文件读写时的异常处理; 文件格式采用文本文件,文件格式需自行设计; 文件名可以由程序内部自行指定,不需要用户手动设置; 其他要求与题目一相同; 提供字符操作界面,提供图形界面的将适当加分(加分不超过5分)。 在题目要求基础上可以自行扩展功能,提供扩实用扩展功能者适当加分(加分不超过5分)。 题目三:足球俱乐部管理程序(企业版) (40分) 描述:在题目二的程序基础上,增加远程访问功能,采用客户端/服务器的方式,实现两种远程操作 高级搜索,在客户端上执行搜索,其搜索范围除了本地数据以外,也应该返回服务端的搜索结果(这里假设服务端、客户端拥有不同的俱乐部); 球员买卖,客户端可以发起向服务端买入球员的请求,如果符合买卖条件,交易成功,该球员从服务端删除,进入客户端选定的俱乐部。 要求: 必须在题目二的代码基础上来修改; 必须使用Socket作为远程通信技术,可以使用更高层次的Socket封装类; 其他要求与题目二相同; 提供字符操作界面,提供图形界面的将适当加分(加分不超过5分)。 注意事项 必须提交三个程序; 不能说第三个程序满足前两个的要求,就只提交一个。每个程序的代码只完成自身的功能; 先验收,再提交电子版程序; 交给各班学委,统一上交—电子版; 每个人一个目录,目录下三个压缩程序和一个word文档;每个压缩程序对应一个作业题目;word文档是相应的三个程序的说明; 目录的命名格式:班级--学号-姓名; 压缩程序命名格式:作业X--学号-姓名; word文件命名格式:作业说明--学号-姓名; 压缩程序包括代码和可执行文件,工程请清理后再提交。