问答题

[Java程序7-21]
import java.u61.*;
public class SalesSystem {
private ProductList catalog;
private OrderList sales;
private static PrintWriter stdOut = new PrintWriter(System.out, true);
public void statistic() {
for (Product product: (3) ) {
iht number = 0;
for (Order order: (4) ) {
for ( (5) : order) {
if (produet.equals(item.getProduct()))
number += item. getQuantity();
}
}
stdOut.println(product .getCode() +" "
+ product.getDescription() +" "
+ number +" "+ number * product.getPrice());
}
}
//其余的方法末列出
}

【参考答案】

(4) this.sales, 或 sales (5) OrderItem item

热门 试题

问答题
[C++代码] class Product { 产品 private: string pid; 产品识别码 string description; 产品描述 double price; 产品单价 public: void setProductPrice(double price); 设置产品单价 string getProduetld(); 获取产品识别码 string getProduetDescriprion 0; 获取产品描述 double getProductPrice0; 获得产品单价 其他成员省略 }; class ProductList { 产品列表类 private: vector <Product> products; public: ProductList(); Product getProductBylndex(int i); 获得产品列表中的第i件产品 void addProduct(Product t); 在产品列表中加入一件产品 Product * getProductByID(string pid); 获得识别码为pid的产品指针 unsigned iht getProductAmount(); 获得产品列表中的产品娄量 }; class OrderItem { 订单条目类 private: Product *productPtr; 指向被订购产品的指针 int quantity; 订购数量 public: OrderItem (Product *,iht); Product * getProductptr O; 获得指向被订购产品的指针 int getQuantity (); 获取被订刚强产品数量 }; class Order { 订单类 private: unsigned int orderid; 订单识别号 vector<Orderltem> items; 订单内容(订单项) public: Order(unsigned int orderid); 获得识别码为fid的产品在当前订单中被订购的数量 int getOrderedAmount(string fid); void additem(Product *productPtr,unsigned int n); 在订单中增加一个订单项 }; class OrderList { 订单列表类 private: vector<Order> orders; public: OrderList(); Begin()返回指向订单列表第一个元素的迭代器(指针) virtual vector<Order>::iterator OrderList::Begin(); End()返回指向订单列表最后一个元素之后的迭代器(指向一个不存在的元素) virtual vector<Order>::iterator orderList::End(); void addOrder(Order t); 在订单列表中加入一份订单 其他成员省略 }; class SalesSystem{ private: ProductList catalog; 产品目录 OrderList sales; 订单列表 public: SalesSystem(); void statistic(); 统计所有产品的订购情况 其他成员省略 }; 在订单中查找识别码为tid的产品的订购数量,若该产品没有被订购,则返回0 int Order::getOrderedAmount(string tid) { for (int k=0; k < items.size(); k++) { if( (1) ==tid) return (2) ; } return 0; } 方法statistic()依次统计产品目录中每个产品的订购总量,并打印输出 每个产品的识别码、描述、订购总量和订购金额 void SalesSystem::statistic() { unsigned int k, t, ordered_qty = 0; vector<Order>::iterator it; Product p; cout<<’’产品识别码 t描述 t t订购数量 t金额’’<<endl; for (k = 0; k < catalog.gctProductAmount(); k++){ 遍历产品列表 p = (3) ; 从产品列表取得一件产品信息存入变量p ordered_qty = 0; 通过迭代器变量it遍历订单列表中的每一份订单 for (it = sales. Begin(); (4) : it++) { 根据产品识别码获得产品p在当前订单中被订购的数量 t = (5) (p.getProductld()); ordered_qty +=t; } cout << p.getProducfld() << t t << p.gntProductDescription() << t t ; cout <<ordered_qty << t t << p.getProductPrice() * ordered_qty << endl; } }