首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
如果某线性表的结点不等长,但希望能按下标随机存取每个元素,可以采用 (33) 表示。
查看本题答案
包含此试题的试卷
中级软件设计师《相同项单选集》真题及答案
点击查看
你可能感兴趣的试题
线性表的顺序存储结构和线性表的链式存储结构分别是______
顺序存取的存储结构、顺序存取的存储结构
随机存取的存储结构、顺序存取的存储结构
随机存取的存储结构、随机存取的存储结构
任意存取的存储结构、任意存取的存储结构
线性表的链接存储可以方便地随机存取表中任意结点但插入或删除运算不方便
线性表的顺序存储可以方便地随机存取表中任意结点但插入或删除运算不方便
线性表的链接存储可以方便地进行插入或删除运算但不能随机存取表中任意结点
如果某线性表的结点不等长但希望能按下标随机存取每个元素可以采用表示
多重链表
倒排表
散列表
索引表
线性表的顺序存储结构和线性表的链式存储结构分别是
顺序存取的存储结构、顺序存取韵存储结构
随机存取的存储结构、顺序存取的存储结构
随机存取的存储结构、随机存取的存储结构
任意存取的存储结构、任意存取的存储结构
线性表的顺序存储可以方便地插入或删除表中任意结点但不能随机存取表中任意结点
线性表的顺序存储结构和线性表的链式存储结构分别是______
顺序存取的存储结构、顺序存取的存储结构
随机存取的存储结构、顷序存取的存储结构
随机存取的存储结构、随机存取的存储结构
任意存取的存储结构、任意存取的存储结构
线性表的顺序存储结构和线性表的链式存储结构分别是______
顺序存取的存储结构、顺序存取的存储结构
随机存取的存储结构、顺序存取的存储结构
随机存取的存储结构、随机存取的存储结构
线性表的顺序表可以方便地随机存取表中任意结点插入运算方便但是删除运算不方便
热门试题
更多
阅读下列算法说明和流程图根据回答下列问题[说明]某机器上需要处理n个作业job1job2jobn其中1每个作业jobi1≤i≤n的编号为ijobi有一个收益值p[i]和最后期限值d[i]2机器在一个时刻只能处理一个作业而且每个作业需要一个单位时间进行处理一旦作业开始就不可中断每个作业的最后期限值为单位时间的正整数倍3job1~jobn的收益值呈非递增顺序排列即p[1]≥p[2]≥...≥p[n]4如果作业jobi在其期限之内完成则获得收益p[i]如果在其期限之后完成则没有收益为获得较高的收益采用贪心策略求解在期限之内完成的作业序列图8-22是基于贪心策略求解该问题的流程图1整型数组J[]有n个存储单元变量k表示在期限之内完成的作业数J[1..k]存储所有能够在期限内完成的作业编号数组J[1..k]里的作业按其最后期限非递减排序即d[J[1]]≤...≤d[J[k]]2为了便于在数组J中加入作业增加一个虚拟作业job0并令d[0]=0J[0]=03算法大致思想是先将作业job1的编号1放入J[1]然后依次对每个作业jobi2≤i≤n进行判定看其能否插入到数组J中若能则将其编号插入到数组J的适当位置并保证J中作业按其最后期限非递减排列否则不插入jobi能插入数组J的充要条件是jobi和数组J中已有作业均能在其期限之内完成4流程图中的主要变量说明如下i循环控制变量表示作业的编号k表示在期限内完成的作业数r若jobi能插入数组J则其在数组J中的位置为r+1q循环控制变量用于移动数组J中的元素[问题2]假设有6个作业job1job2job6完成作业的收益数组p=p[1]p[2]p[3]p[4]p[5]p[6]=908050302010每个作业的处理期限数组d=d[1]d[2]d[3]d[4]d[5]d[6]=121343请应用试题中描述的贪心策略算法给出在期限之内处理的作业编号序列______按作业处理的顺序给出得到的总收益为______
阅读以下说明和图根据要求回答下列问题[说明]某音像制品出租商店欲开发一个音像管理信息系统管理音像制品的租借业务需求如下1.系统中的客户信息文件保存了该商店的所有客户的用户名密码等信息对于首次来租借的客户系统会为其生成用户名和初始密码2.系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量3.根据客户所租借的音像制品的品种会按天收取相应的费用音像制品的最长租借周期为1周每位客户每次最多只能租借6件音像制品4.客户租借某种音像制品的具体流程如下1根据客户提供的用户名和密码验证客户身份2若该客户是合法客户查询音像制品信息文件查看商店中是否还有这种音像制品3若还有该音像制品且客户所要租借的音像制品数小于等于6个就可以将该音像制品租借给客户这时系统给出相应的租借确认信息生成一条新的租借记录并将其保存在租借记录文件中4系统计算租借费用将费用信息保存在租借记录文件中并告知客户5客户付清租借费用之后系统接收客户付款信息将音像制品租借给该客户5.当库存中某音像制品数量不能满足客户的租借请求数量时系统可以接受客户网上预约租借某种音像制品系统接收到预约请求后检查库存信息验证用户身份创建相应的预约记录生成预约流水号给该客户并将信息保存在预约记录文件中6.客户归还到期的音像制品系统修改租借记录文件并查询预约记录文件和客户信息文件判定是否有客户预约了这些音像制品若有则生成预约提示信息通知系统履行预约服务系统查询客户信息文件和预约记录文件通知相关客户前来租借音像制品现采用结构化方法对音像管理信息系统进行分析与设计获得如图7-9所示的顶层数据流图和图7-10所示的0层数据流图[问题3]在图7-10中缺少了3条数据流根据说明及图7-9提供的信息请在表7-14中分别指出这3条数据流的名称起点和终点表7-14数据流表序号名称起点终点123
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 8处填
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 7处填
【算法说明】下面是一段插入排序的程序将R[k+1]插入到R[1...k]的适当位置R[0]=R[k+1]j=kwhileR[j]>R[0]R[j+1]=R[j]j--R[j+1]=R[0]【流程图】【测试用例设计】while循环次数为012次测试用例表【问题2】指出测试用例设计中4~9处的内容
阅读以下说明和数据流图根据要求回答下列问题[说明]现准备为某银行开发一个信用卡管理系统CCMS该系统的基本功能如下1.信用卡申请非信用卡客户填写信用卡申请表说明所要申请的信用卡类型及申请者的基本信息提交CCMS如果信用卡申请被银行接受CCMS将记录该客户的基本信息并发送确认函给该客户告知客户信用卡的有效期及信贷限额否则该客户将会收到一封拒绝函非信用卡客户收到确认函后成为信用卡客户2.信用卡激活信用卡客户向CCMS提交激活请求用信用卡号和密码激活该信用卡激活操作结束后CCMS将激活通知发送给客户告知客户其信用卡是否被成功激活3.信用卡客户信息管理信用卡客户的个人信息可以在CCMS中进行在线管理每位信用卡客户可以在线查询和修改个人信息4.交易信息查询信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中信用卡客户可以通过CCMS查询并核实其交易信息包括信用卡交易记录及交易额图8-15和图8-16分别给出了该系统的顶层数据流图和0层数据流图的初稿[问题3]图8-16中有两条数据流是错误的请指出这两条数据流的名称并改正注数据流的起点和终点均采用图中的符号和描述
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 下面是此系统的数据流图 假定题中提供的顶层图是正确的请回答下列问题 指出图3的B中加工2.3能检查出哪些不合格交费凭证
阅读以下技术说明根据要求回答下列问题[说明]某汽车停车场欲建立一个信息系统已经调查到的需求如下1.在停车场的入口和出口分别安装一个自动栏杆一台停车卡打印机一台读卡器和一个车辆通过传感器等其示意图见图8-182.当汽车到达入口时驾驶员按下停车卡打印机的按钮获取停车卡当驾驶员拿走停车卡后系统命令栏杆自动抬起汽车通过入口后入口处的传感器通知系统发出命令栏杆自动放下3.在停车场内分布着若干个付款机器驾驶员将在入口处获取的停车卡插入付款机器并缴纳停车费付清停车费之后将获得一张出场卡用于离开停车场4.当汽车到达出口时驾驶员将出场卡插入出口处的读卡器如果这张卡是有效的系统命令栏杆自动抬起汽车通过出口后出口传感器通知系统发出命令栏杆自动放下若这张卡是无效的系统不发出栏杆抬起命令而发出告警信号5.系统自动记录停车场内空闲的停车位的数量若停车场当前没有车位系统将在入口处显示车位已满信息这时停车卡打印机将不再出卡只允许场内汽车出场根据上述描述采用面向对象方法对其进行分析与设计得到如表8-8所示的类/用例/状态列表如图8-19所示的用例图如图8-20所示的初始类图以及如图8-21所示的描述入口自动栏杆行为的UML状态图表8-8类/用例/状态列表用户名说明类名说明状态名说明Carentry汽车进入停车场CentralComputer停车场信息系统Idle空闲状态汽车可以进入停车场Carexit汽车离开停车场PaymentMachine付款机器Disable没有车位ReportStatistics记录停车场的相关信息CarPark停车场保存车位信息AwaitEntry等待汽车进入Barrier自动护栏AwaitTicketTake等待打印停车卡Carentrywhenfull没有车位时汽车请求进入停车场EntryBarrier入口的护栏AwaitEnable等待停车场内有空闲车位ExitBarrier出口的护栏[问题4]简要解释图8-19中用例U1和U3之间的extend关系的内涵
阅读下列说明根据要求回答下列问题[说明]某地区举行篮球比赛需要开发一个比赛信息管理系统来记录比赛的相关信息[需求分析结果]1.登记参赛球队的信息记录球队的名称代表地区成立时间等信息系统记录球队的每个队员的姓名年龄身高体重等信息每个球队有一个教练负责管理球队一个教练仅负责一个球队系统记录教练的姓名年龄等信息2.安排球队的训练信息比赛组织者为球队提供了若干个场地供球队进行适应性训练系统记录现有的场地信息包括场地名称场地规模位置等信息系统可为每个球队安排不同的训练场地如表8-6所示系统记录训练场地安排的信息表8-6训练安排表球队名称场地名称训练时间解放军一号球场2008-06-0914:00~18:00解放军一号球场2008-06-1209:00~12:00解放军二号球场2008-06-1114:00~18:00山西一号球场2008-06-1009:00~12:003.安排比赛该赛事聘请了专职裁判每场比赛只安排一个裁判系统记录裁判的姓名年龄级别等信息系统按照一定的规则首先分组然后根据球队场地和裁判情况安排比赛每场比赛的对阵双方分别称为甲队和乙队记录参赛球队比赛时间比分场地名称等信息如表8-7所示表8-7比赛安排表A组甲队——乙队场地名称比赛时间裁判比分解放军—北京一号球场2008-06-1715:00李大明天津—山西一号球场2008-06-1719:00胡学梅B组甲队——乙队场地名称比赛时间裁判比分上海—安徽二号球场2008-06-1715:00丁鸿平山东—辽宁二号球场2008-06-1719:00郭爱琪4.所有球员教练和裁判可能出现重名情况[概念模型设计]根据需求阶段收集的信息设计的实体联系图和关系模式不完整如下1.实体联系图如图8-17所示2.关系模式●教练教练编号姓名年龄●队员队员编号姓名年龄身高体重a●球队球队名称代表地区成立时间b●场地场地名称场地规模位置●训练记录c●裁判裁判编号姓名年龄级别●比赛记录d[问题1]根据问题描述补充4个联系完善图8-17的实体联系图
阅读以下关于UML软件系统建模的叙述根据要求回答下列问题[说明]车载GPSGlobalPositionSystem终端是置于机动车内的实时定位装置它的应用对象是需要定位和调度的车辆车辆可以通过终端与GPS进行实时准确的定位并能够通过无线通信网络上报远程的车辆调度中心中心可以通过终端远程监视车行轨迹并可在特殊情况下通过终端控制车辆同时终端还装备车载电话可以在出现特殊情况时及时地通知车辆调度中心图7-12所示为车载终端系统的用例图对于车载GPS终端系统来说主要的角色有两个车辆调度中心用户和车载终端用户图7-13所示为车载终端系统中的GSM无线电通信模块的部分状态图用于与调度中心进行联系GSM模块共有4个状态通话中有问题待命短消息通信中[问题1]请将以下给出的转换关系填入图7-13的适当位置从而将GSM无线电通信模块状态图补充完整转换关系①用户需要语言通话②通话完成③重新连接网络④未找到网络或网络出错
根据题意回答以下问题设某商业集团数据库中有3个实体集一是商店实体集属性有商店编号商店名地址等二是商品实体集属性有商品号商品名规格单价等三是职工实体集属性有职工编号姓名性别业绩等商店与商品间存在销售联系每个商店可以销售多种商品每种商品也可以在多个商店和职工间存在聘用联系每个商店有许多职工每个职工只能在一个商店工作商店聘用职工有聘期和月薪问题1.请根据题意完善下面ER图2.将ER图转换成关系模型并注明主键和外键3.请写出要查出员工小李在三月份的销售业绩的关系代数式
阅读以下说明根据要求回答下列问题[说明]现需在某城市中选择一个社区建一个大型超市使该城市的其他社区到该超市的距离总和最小用图模型表示该城市的地图其中顶点表示社区边表示社区间的路线边上的权重表示该路线的长度现设计一个算法来找到该大型超市的最佳位置即在给定图中选择一个顶点使该顶点到其他各顶点的最短路径之和最小算法首先需要求出每个顶点到其他任一顶点的最短路径即需要计算任意两个顶点之间的最短路径然后对每个顶点计算其他各顶点到该顶点的最短路径之和最后选择最短路径之和最小的顶点作为建大型超市的最佳位置[问题1]本题采用Floyd-Warshall算法求解任意两个顶点之间的最短路径已知图G的顶点集台为V={12...n}W={wij}n*n为权重矩阵设[*]为从顶点i到顶点j的一条最短路径的权重当k=0时不存在中间顶点因此[*]当k>0时该最短路径上所有的中间顶点均属于集合{12...k}若中间顶点包括顶点k则[*]若中间顶点不包括顶点k则[*]于是得到如下递归式[*]因为对于任意路径所有的中间项点都在集合{12...n}内因此矩阵[*]给出了任意两个顶点之间的最短路径即对所有[*]表示顶点i到顶点j的最短路径下面是求解该问题的伪代码请填充其中空缺的横线处伪代码中的主要变量说明如下W权重矩阵n图的顶点个数SP最短路径权重之和数组SP[i]表示顶点i到其他各项点的最短路径权重之和i从1到nmin_SP最小的最短路径权重之和min_v具有最小的最短路径权重之和的顶点i循环控制变量j循环控制变量k循环控制变量[伪代码]LOCATE-SHOPPINGMALLWn1D0=W2for______3fori=1ton4forj=1ton5if[*]6______7else8______9fori=1ton10SP[i]=011forj=1ton12______13min_SP=SP[1]14______15fori=2ton16ifmin_SP>SP[i]17min_SP=SP[i]18min_v=i19return______
阅读下列说明根据要求回答下列问题[说明]某医院的门诊管理系统实现了为患者提供挂号处方药品收费的功能具体的需求及设计如下1.医院医师具有编号姓名科室职称出诊类型和出诊费用其中出诊类型分为专家门诊和普通门诊与医师职称无关各个医师可以具有不同的出诊费用与职称和出诊类型无关2.患者首先在门诊挂号处挂号选择科室和医师根据选择的医师缴纳挂号费医师出诊费收银员为患者生成挂号单如表7-15所示其中就诊类型为医师的出诊类型表7-15××医院门诊挂号单收银员13011时间2007年2月1日08:58就诊号姓名科室医师就诊类型挂号费20070205015叶萌内科杨玉明专家门诊5元3.患者在医师处就诊后凭借挂号单和医师手写处方到门诊药房交费买药收银员根据就诊号和医师处方中开列的药品信息查询药品库见表7-16并生成门诊处方单见表7-17表7-16药品库药品编码药名称类型库存货架编号单位规格单价12007牛蒡子中药51590B1401G炒0.034011090百部中药36950B1523G片0.0313表7-17××医院门诊处方单时间2007年2月1日10:31就诊号20070205015病人姓名叶萌医师姓名杨玉明金额总计0.65项目总计2收银员21081药品编码药品名称数量单位单价金额元12007牛蒡子10G0.03400.3411090百部10G0.03130.314.由于药品价格会发生变化因此门诊管理系统必须记录处方单上药品的单价[概念模型设计]根据需求阶段收集的信息设计的实体联系图不完整如图7-11所示[逻辑结构设计]根据概念模型设计阶段完成的实体联系图得出如下关系模式不完整挂号单就诊号病患姓名医师编号时间______收银员编号姓名级别医师编号姓名科室职称出诊类型出诊费用门诊处方______收银员时间处方明细就诊号______药品库药品编码药品名称______[问题2]图7-11中还缺少几个联系请指出每个联系两端的实体名格式为实体1:实体2例如收银员与门诊处方之间存在联系表示为收银员:门诊处方或门诊处方:收银员
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 4处填
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 5处填
[说明] 一般的树结构常采用孩子-兄弟表示法表示即用二叉链表作树的存储结构链表中节点的两个链域分别指向该节点的第一个孩予节点和下一个兄弟节点例如图4-1a所示的树的孩子-兄弟表示如图4-1fb所示 函数LevelTraverse的功能是对给定树进行层序遍历例如对图4-1所示的树进行层序遍历时节点的访问次序为DBAEFPC 对树进行层序遍历时使用了队列结构实现队列基本操作的函数原型如下表所示 BoolStatus类型定义如下 typedefenumFALSE=0TRUE=1Bool; typedefenumOVERFLOW=-2UNDERFLOW=-1ERROR=0OK=1Status; 树的二叉链表节点定义如下 typedefstructNode chardata structNode*fimrstchiid*nextbrother; Node*TreeNode; [函数] StatusLevelTraverseTreeNoderoot /*层序遍历树树采用孩子-兄弟表示法root是树根节点的指针*/ QueuetempQ; TreeNodeptrbrotherptr; if!root returnERROR; InitQueue&tempQ; 1; brotherptr=root->nextbrother; whilebrotherptrEnQueue&tempQbrotherptr; 2; /*end-while*/ while3 4; printf"%c\t"ptr->data; if5continue; 6; brotherptr=ptr->firstchild->nextbrother; whilebrotherptrEnQueue&tempQbrotherptr; 7; /*end-while*/ /*end-while*/ returnOK; /*LevelTraverse*/ 6处填
阅读下列说明和C++代码回答下列问题[说明]在超市销售管理系统中通常需要根据顾客需求打印购物小票在购物小票中体现所购买的物品名称数量单价及总价等信息以及购物时间收银员号码等基本信息而且有的需要打印票据的头信息如欢迎辞等有的需要打印票据的页脚信息如促销打折广告提示信息等有的只需要打印票据的内容并且这些信息的内容及打印位置也需要根据具体情况而发生变动相当于是对购物小票的额外装饰了以上这些功能采用装饰器Decorator设计模式来设计得到的类图如图7-15所示以下C++代码可为购物小票动态添加各种抬头和注释信息[C++代码]#include<iostream.h>classcxiaopiaopublic:______=0;;classcjutixiaopiao:______public:voidDaYinXiaoPiaocout<<票据正文<<endl;;classczhuangshixiaopiao:____________:cxiaopiao*xpobj;public:czhuangshixiaopiaocxiaopiao*objxpobj=obj;______=0;;classheaderxiaopiao:publicczhuangshixiaopiaopublic:headerxiaopiaocxiaopiao*obj:czhuangshixiaopiaoobjvoidDaYinXiaoPiaocout<<抬头<<endl;xpobj->DaYinXiaoPiao;;classfooterxiaopiao:publicczhuangshixiaopiaopublic:footerxiaopiaocxiaopiao*obj:czhuangshixiaopiaoobjvoidDaYinXiaoPiaoxpobj->DaYinxiaoPiao;cout<<脚注<<endl;;intmainczhuangshixiaopiao*xiaopiao=newheaderxiaopiaonewfooterxiaopiaonewcjutixiaopiao;xiaopiao->DaYinXiaoPiao;cout<<endl;return0;装饰器Decorator模式是一种______型设计模式其设计意图是______
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 下面是此系统的数据流图 假定题中提供的顶层图是正确的请回答下列问题 指出图2中的哪些文件可不必画出
【说明】①定义类Table的私有数据成员x和y分别用于表示九九表中的两个乘数x*y它们都是int型的数据②完成类Table的成员函数print的定义该函数以x*y=z的格式打印出九九表中的一个乘法算式请使用格式化输出函数printf实现③完成类Table9的成员函数print的定义该函数调用基类Table的print函数将九九表输出到屏幕④补充主函数在屏幕上输出九九表以便测试所定义的类的正确性源程序文件test8_3.cpp清单如下#include<iostreamh>#include<stdioh>classTable1intzpublicvoidprintintxintyintzvoidTableprintintxintyintz2ClassTable9publicTablepublicvoidprintvoidTable9print3intxyzfori=1i<10i++forj=1j<i+1j++x=iy=jz=i*jTable::printyxzprintf/nmain//**4**return0
阅读以下技术说明根据要求回答下列问题[说明]某汽车停车场欲建立一个信息系统已经调查到的需求如下1.在停车场的入口和出口分别安装一个自动栏杆一台停车卡打印机一台读卡器和一个车辆通过传感器等其示意图见图8-182.当汽车到达入口时驾驶员按下停车卡打印机的按钮获取停车卡当驾驶员拿走停车卡后系统命令栏杆自动抬起汽车通过入口后入口处的传感器通知系统发出命令栏杆自动放下3.在停车场内分布着若干个付款机器驾驶员将在入口处获取的停车卡插入付款机器并缴纳停车费付清停车费之后将获得一张出场卡用于离开停车场4.当汽车到达出口时驾驶员将出场卡插入出口处的读卡器如果这张卡是有效的系统命令栏杆自动抬起汽车通过出口后出口传感器通知系统发出命令栏杆自动放下若这张卡是无效的系统不发出栏杆抬起命令而发出告警信号5.系统自动记录停车场内空闲的停车位的数量若停车场当前没有车位系统将在入口处显示车位已满信息这时停车卡打印机将不再出卡只允许场内汽车出场根据上述描述采用面向对象方法对其进行分析与设计得到如表8-8所示的类/用例/状态列表如图8-19所示的用例图如图8-20所示的初始类图以及如图8-21所示的描述入口自动栏杆行为的UML状态图表8-8类/用例/状态列表用户名说明类名说明状态名说明Carentry汽车进入停车场CentralComputer停车场信息系统Idle空闲状态汽车可以进入停车场Carexit汽车离开停车场PaymentMachine付款机器Disable没有车位ReportStatistics记录停车场的相关信息CarPark停车场保存车位信息AwaitEntry等待汽车进入Barrier自动护栏AwaitTicketTake等待打印停车卡Carentrywhenfull没有车位时汽车请求进入停车场EntryBarrier入口的护栏AwaitEnable等待停车场内有空闲车位ExitBarrier出口的护栏[问题2]根据说明中的描述使用表8-8给出的类的名称给出图8-20中的A~D所对应的类
阅读下列说明根据要求回答下列问题[说明]某地区举行篮球比赛需要开发一个比赛信息管理系统来记录比赛的相关信息[需求分析结果]1.登记参赛球队的信息记录球队的名称代表地区成立时间等信息系统记录球队的每个队员的姓名年龄身高体重等信息每个球队有一个教练负责管理球队一个教练仅负责一个球队系统记录教练的姓名年龄等信息2.安排球队的训练信息比赛组织者为球队提供了若干个场地供球队进行适应性训练系统记录现有的场地信息包括场地名称场地规模位置等信息系统可为每个球队安排不同的训练场地如表8-6所示系统记录训练场地安排的信息表8-6训练安排表球队名称场地名称训练时间解放军一号球场2008-06-0914:00~18:00解放军一号球场2008-06-1209:00~12:00解放军二号球场2008-06-1114:00~18:00山西一号球场2008-06-1009:00~12:003.安排比赛该赛事聘请了专职裁判每场比赛只安排一个裁判系统记录裁判的姓名年龄级别等信息系统按照一定的规则首先分组然后根据球队场地和裁判情况安排比赛每场比赛的对阵双方分别称为甲队和乙队记录参赛球队比赛时间比分场地名称等信息如表8-7所示表8-7比赛安排表A组甲队——乙队场地名称比赛时间裁判比分解放军—北京一号球场2008-06-1715:00李大明天津—山西一号球场2008-06-1719:00胡学梅B组甲队——乙队场地名称比赛时间裁判比分上海—安徽二号球场2008-06-1715:00丁鸿平山东—辽宁二号球场2008-06-1719:00郭爱琪4.所有球员教练和裁判可能出现重名情况[概念模型设计]根据需求阶段收集的信息设计的实体联系图和关系模式不完整如下1.实体联系图如图8-17所示2.关系模式●教练教练编号姓名年龄●队员队员编号姓名年龄身高体重a●球队球队名称代表地区成立时间b●场地场地名称场地规模位置●训练记录c●裁判裁判编号姓名年龄级别●比赛记录d[问题3]如果考虑记录一些特别资深的热心球迷的情况每个热心球迷可能支持多个球队热心球迷的基本信息包括姓名住址和喜欢的俱乐部等根据这一要求修改图8-17的实体联系图给出修改后的关系模式
请阅读以下技术说明类图及C++代码回答下列问题[说明]已知某企业的采购审批是分级进行的即根据采购金额的不同由不同层次的主管人员来审批主任可以审批5万元以下不包括5万元的采购单副董事长可以审批5万元至10万元不包括10万元的采购单董事长可以审批10万元至50万元不包括50万元的采购单50万元及以上的采购单就需要开会讨论决定采用责任链设计模式ChainofResponsibility对上述过程进行设计后得到的类图如图8-23所示[C++代码]#include<String>#include<iostream>usingnamespacestd;classPurchaseRequestpublic:doubleAmount;//采购的金额intNumber;//采购的单号stringPurpose;//采购的目的;classApprover//审批者类public:Approversuccessor=NULL;virtualvoidProcessRequestPurchaseRequestaRequestifsuccessor!=NULLsuccessor->______;voidSetSuccessorApprover*aSuccesssorsuccessor=aSuccesssor;private:______successor;;classCongress:publicApproverpublic:voidProcessRequestPurohaseRequestaRequestifaRequest.Amount>:500000/*决定是否审批的代码省略*/else______ProcessRequestaRequest;;classDirector:publicApproverpublic:voidProcessRequestPurchaseRequestaRequest/*此处代码省略*/;classPresident:publicApproverpublic:voidProcessRequestPurchaseRequestaRequest/*此处代码省略*/;classVicePresident:publicApproverpublic:voidProcessRequestPurchaseRequestaRequest/*此处代码省略*/;voidmainCongressMeeting;VicePresidentSam;DirectorLarry;PresidentTammy;//构造责任链Meeting.SetSuccessorNULL;Sam.SetSuccessor______;Tammy.SetSuccessor______;Larry.SetSuccessor______;PurchaseRequestaRequest;//构造一采购审批请求cin>>aRequest.Amount;//输入采购请求的金额______.ProcessRequestaRequest;//开始审批return;
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 1处填
阅读以下说明和图根据要求回答下列问题[说明]某音像制品出租商店欲开发一个音像管理信息系统管理音像制品的租借业务需求如下1.系统中的客户信息文件保存了该商店的所有客户的用户名密码等信息对于首次来租借的客户系统会为其生成用户名和初始密码2.系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量3.根据客户所租借的音像制品的品种会按天收取相应的费用音像制品的最长租借周期为1周每位客户每次最多只能租借6件音像制品4.客户租借某种音像制品的具体流程如下1根据客户提供的用户名和密码验证客户身份2若该客户是合法客户查询音像制品信息文件查看商店中是否还有这种音像制品3若还有该音像制品且客户所要租借的音像制品数小于等于6个就可以将该音像制品租借给客户这时系统给出相应的租借确认信息生成一条新的租借记录并将其保存在租借记录文件中4系统计算租借费用将费用信息保存在租借记录文件中并告知客户5客户付清租借费用之后系统接收客户付款信息将音像制品租借给该客户5.当库存中某音像制品数量不能满足客户的租借请求数量时系统可以接受客户网上预约租借某种音像制品系统接收到预约请求后检查库存信息验证用户身份创建相应的预约记录生成预约流水号给该客户并将信息保存在预约记录文件中6.客户归还到期的音像制品系统修改租借记录文件并查询预约记录文件和客户信息文件判定是否有客户预约了这些音像制品若有则生成预约提示信息通知系统履行预约服务系统查询客户信息文件和预约记录文件通知相关客户前来租借音像制品现采用结构化方法对音像管理信息系统进行分析与设计获得如图7-9所示的顶层数据流图和图7-10所示的0层数据流图[问题1]图7-9中只有一个外部实体E1使用[说明]中的词语给出E1的名称
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 3处填
[说明] 一般的树结构常采用孩子-兄弟表示法表示即用二叉链表作树的存储结构链表中节点的两个链域分别指向该节点的第一个孩予节点和下一个兄弟节点例如图4-1a所示的树的孩子-兄弟表示如图4-1fb所示 函数LevelTraverse的功能是对给定树进行层序遍历例如对图4-1所示的树进行层序遍历时节点的访问次序为DBAEFPC 对树进行层序遍历时使用了队列结构实现队列基本操作的函数原型如下表所示 BoolStatus类型定义如下 typedefenumFALSE=0TRUE=1Bool; typedefenumOVERFLOW=-2UNDERFLOW=-1ERROR=0OK=1Status; 树的二叉链表节点定义如下 typedefstructNode chardata structNode*fimrstchiid*nextbrother; Node*TreeNode; [函数] StatusLevelTraverseTreeNoderoot /*层序遍历树树采用孩子-兄弟表示法root是树根节点的指针*/ QueuetempQ; TreeNodeptrbrotherptr; if!root returnERROR; InitQueue&tempQ; 1; brotherptr=root->nextbrother; whilebrotherptrEnQueue&tempQbrotherptr; 2; /*end-while*/ while3 4; printf"%c\t"ptr->data; if5continue; 6; brotherptr=ptr->firstchild->nextbrother; whilebrotherptrEnQueue&tempQbrotherptr; 7; /*end-while*/ /*end-while*/ returnOK; /*LevelTraverse*/ 4处填
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 2处填
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 9处填
阅读以下说明和数据流图根据要求回答下列问题[说明]现准备为某银行开发一个信用卡管理系统CCMS该系统的基本功能如下1.信用卡申请非信用卡客户填写信用卡申请表说明所要申请的信用卡类型及申请者的基本信息提交CCMS如果信用卡申请被银行接受CCMS将记录该客户的基本信息并发送确认函给该客户告知客户信用卡的有效期及信贷限额否则该客户将会收到一封拒绝函非信用卡客户收到确认函后成为信用卡客户2.信用卡激活信用卡客户向CCMS提交激活请求用信用卡号和密码激活该信用卡激活操作结束后CCMS将激活通知发送给客户告知客户其信用卡是否被成功激活3.信用卡客户信息管理信用卡客户的个人信息可以在CCMS中进行在线管理每位信用卡客户可以在线查询和修改个人信息4.交易信息查询信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中信用卡客户可以通过CCMS查询并核实其交易信息包括信用卡交易记录及交易额图8-15和图8-16分别给出了该系统的顶层数据流图和0层数据流图的初稿[问题1]根据[说明]将图8-15中的E1~E3填充完整
[说明] 某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征飞行特征和外观特征游戏需要模拟的鸭子种类及其特征如表下表所示 为支持将来能够模拟更多种类鸭子的特征采用策略设计模式strategy设计的类图如图5-1所示 其中Duck为抽象类描述了抽象的鸭子而类RubberDuckMallardDuckCottonDuck和RedHeadDuck分别描述具体的鸭子种类方法flyquack和display分别表示不同种类的鸭子都具有飞行特征发声特征和外观特征类FlyBehavior与QuackBehavior为抽象类分别用于表示抽象的飞行行为与发声行为类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为类QuackSqueak与QuackNoWay分别描述发出“嘎嘎”声的行为发出橡皮与空气摩擦声的行为与不发声的行为请填补以下代码中的空缺 [C++代码] #include<iostream> usingnamespace1; classFlyBehavior public:2fly=0 ; classQuackBehavior public:3quack=0; ClassFlyWithWings:publicF1yBehavior public:voidflycout<<"使用翅膀飞行!"<<endl; ; classFlyNoWay:publicFlyBehavior public:voidflycout<<"不能飞行!">>endl; ; classQuack:publicQuackBehavior public:voidquackcout<<"发出\’嘎嘎’\声!"<<endl; ; classSqueak:publicQuackBehavior public:voidquackcout<<"发出空气与橡皮摩擦声!"<<endl; ; classQuackNOWay:publicQuackBehaVior public:voidquackcout<<"不能发声!"<<endl; ; C1assDuck protected: FlyBehavior*4; QuackBehaVior*5; public: VOidfly6; VOidquack7;; virtualvoiddisplay=0; ; classRubberDuck:publicDuck public: RubberDuck flyBehavior=new8; quackBehavior=new9; ~RubberDuck if!flyBehaviordeleteflyBehaVior; if!quackBehaviordeletequackBehavior Voiddisplay/*此处省略显示橡皮鸭的代码*/ //其他代码省略 6处填
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术