首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-15所示。 图5-15中,Product表示产品,Produc
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。 [说明] 某订单管理系统的部分UML类图如图5-15所示。 图5-15中,Product表示产品,Produc
admin
2010-01-15
44
问题
阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。
[说明]
某订单管理系统的部分UML类图如图5-15所示。
图5-15中,Product表示产品,ProductList表示产品目录,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。
请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。
[C++代码]
选项
答案
这是一道要求读者掌握C++程序设计及STL使用的分析题。本题的解答思路如下。 仔细阅读[C++代码]可知,类Order的数据成员orderid表示一份订单的识别号。结合图5-15订单管理系统的部分UML类图可知,每个订单上可以有多个订单项,因此数据成员items是一个类型为 OrderItem的向量(数据)。类Order的成员函数getOrderedAmount的功能是“在订单中查找识别码为tid的产品的订购数量,若该产品没有被订购,则返回0”。其定义如下: [*] 对于每个订单项,显然需要取出对应产品的识别号。从getOrderedAmount(string tid)定义代码中,变量k用于遍历并索引一份订单中的每个订单项(items[k])。由于OrderItem类提供的成员函数getProductpt()可获取指向被订购产品的指针,因此可通过(1)空缺处所填写的“items[k].getProductptr()->getProductId()”获取被订购产品的识别号。若指定的产品识别号等于该订单项的产品识别号,就通过(2)空缺处所填写的“items[k].getQuantity()”返回该产品被订购的数量。 类SalesSystem的成员函数statistic()用于统计产品目录中每个产品的订购总量,并打印输出每个产品的识别码、描述、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历:产品目录(ProductList)、订单列表(OrdeList)及Order(需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程如下。 ①从产品目录中取出一个产品。对应语句“for(k=0;k<catalog.getProductAmount();k++)”用于遍历产品目录中的每件产品。由于存放产品目录(产品列表)的数据成员catalog的类型为ProductList,要取得某产品的相关信息,需要通过ProductList类提供的成员函数getProductByIndex(int I)获得产品目录中的第 i件产品,因此(3)空缺处所填写的内容是“catalog.getProductByIndex(k)”。 ②查询给定产品在每份订单中的订购情况。对应的语句“for(it=sales.Begin(); (4) ;it++”用于遍历所有的订单,根据产品识别码获得给定产品在当前订单中被订购的数量。对于给定产品和订单,可调用订单类Order的成员函数getOrderedAmount(tid)获得识别码为tid的产品在当前订单中被订购的数量。因此(5)空缺处所填写的内容是“it->getOrderedAmount”。 由于类OrderList提供的方法Begin()、End()分别指向订单列表的第一个元素和最后一个元素之后,而迭代器变量it实际是指向订单列表(向量sales)中某订单的指针,因此(4)空缺处所填写的内容是“it!= sales.End()”或“it<sales.End()”。
解析
转载请注明原文地址:https://kaotiyun.com/show/qMDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
关于软件测试与软件开发的认识,不正确的是______。A.软件生命周期各个阶段都可能产生错误B.软件测试是独立于软件开发的一个工作C.软件开发的需求分析和设计阶段就应开始测试工作D.测试越早进行,越有助于提高被测软件的质量
RUP在每个阶段都有主要目标,并在结束时产生一些制品。在(30)结束时产生“在适当的平台上集成的软件产品”。
软件质量保证的主要目标不包括______。A.通过预防、检查与改进来保证软件质量B.保证开发出来的软件和软件开发过程符合相应标准与规程C.收集软件产品、软件过程中存在的不符合项,在项目总结时进行分析D.确保项目组制定的计划、标准和规程适合项目需要,
以下属于测试停止依据的是______。①测试用例全部执行结束②测试覆盖率达到要求③测试超出了预定时间④查出了预定数目的故障⑤执行了预定的测试方案⑥测试时间不足
在面向对象系统中,对象的属性是()。
软件工程的基本目标是()。
某客户端在采用ping命令检测网络连接故障时,发现可以ping通127.0.0.1及本机的IP地址,但无法ping通同一网段内其他工作正常的计算机的IP地址,说明该客户端的故障是(69)。
下图为某设计模式的类图,类State和Context的关系为(49),类(50)是客户使用的主要接口。(49)
对某商店业务处理系统采用数据流图(DFD)进行功能建模,其中“检查订货单”是其中的一个①。由于在进行订货单检查时,需要根据客户的欠款情况、订单金额等多个条件判断是否采取发出催款单、准备货物、发出发货单等行为,此时适合采用②进行描述。①处
某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为______内聚。
随机试题
测定油脂的凝固点可判断出油脂的纯度。
65岁妇女,绝经15年,近半年阴道流血性分泌物,量中等,间断有少量阴道流血,妇查:阴道呈漏斗型,宫颈呈溃疡状,触痛(+),子宫小、固定,双侧宫旁呈团饼状增厚,质硬,达盆壁,锁骨上淋巴结(一)患者治疗后半年,出现左腿痛,肿胀,伴腰骶部疼痛,同时合并尿少,
海螵蛸不具有的功效是()。
()完全依靠安全检查人员的经验和能力,检查的结果直接受安全检查人员个人素质的影响。因此,对安全检查人员要求较高。
不属于总监理工程师职责的是( )。
王某从事个体维修业务,月营业额为3500元,当地税务局规定的起征点为3000元。王某的应纳增值税()元
企业提供的补充养老保险计划,主要形式是()。
精神病、艾滋病患者和生理残疾者面临的最大困境在于社会歧视和基本生活能力欠缺。帮助他们康复或改善环境,并通过各种努力减少社会歧视,维护其正当权益,这体现的是社会工作价值观的()原则。
(2018年临沂)我国古代的“六艺”课程(礼、乐、射、御、书、数),古希腊的“七艺”课程(文法、修辞、辩证法、算术、几何、天文、音乐)。属于()
目前,在微型和小型机中,通常采用的常用字符编码是_____________。
最新回复
(
0
)