阅读以下关于某订单管理系统的技术说明、部分UML类图及C++代码,将C++程序中(1)~(5)空缺处的语句填
阅读以下关于某订单管理系统的技术说明、部分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;kcatalog.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()”或“itsales.End()”。
求∫∫∫y√(1-x^2)dv其中V有y=-√(1-x^2-y^2),x^2+z^2=1,以及y= 数学 2020-06-12 …
∫x^2/(1+x^3)^2dx=?以及∫x+1/(x^2+2x-3)^2dx=?我看懂了,你是把 数学 2020-06-12 …
请帮我解决这三条题啦!计算二重积分:1、∫∫[D](y^2/x^2)dxdy,其中D由y=x,y= 数学 2020-06-26 …
下午要交!初2数学快来人啊!帮我!重奖若:a2-3a+1=0求a3-3a2-2a除以a2+1字母后 数学 2020-07-08 …
已知三点A3.2,B5.-3,C-1.3,以及P2.-1为圆心作为一个圆使ABC三点中一点在圆外, 数学 2020-07-09 …
急问!量子力学问题.求问下面算式中C1*,ψ1*的含义求下面算式中C1*,ψ1*的含义.*何意,以 数学 2020-07-09 …
量子力学问题,求下面算式中C1*,ψ1*的含义.急问,1分钟就能解答的量子力学问题,求下面算式中C 数学 2020-07-09 …
已知连续型随机变量X的密度函数,求a以及分布函数F(x)以及P{-1 数学 2020-07-25 …
求f(x)=x^17+10x^12-2x^10-1除以(x+1)(x^2+x+1)之余式 数学 2020-07-30 …
我想打积分.对1/(x^2+1)从负无穷积到正无穷.以及对1/(x^2)从0积到1,对1/(x^2) 数学 2020-11-01 …