天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

2006年5月軟件設計師下午試題[5]

軟件設計師 責任編輯:qingque 2008-08-06

添加老師微信

備考咨詢

加我微信

摘要:試題六(15分)閱讀下列說明、圖和C++代碼,將應填入(n)處的字句寫在答題紙的對應欄內。【說明】某訂單管理系統的部分UML類圖如圖6-1所示。圖6-1中,Product表示產品,ProductList表示產品目錄,Order表示產品訂單,Orderltem表示產品訂單中的一個條目,OrderList表示訂單列表,SalesSystem提供訂單管理系統的操作接口。請完善類Or

試題六(15分)
閱讀下列說明、圖和C++代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。
【說明】
某訂單管理系統的部分UML類圖如圖6-1所示。 
 
圖6-1中,Product表示產品,ProductList表示產品目錄,Order表示產品訂單,
Orderltem表示產品訂單中的一個條目,OrderList表示訂單列表,SalesSystem提供訂單
管理系統的操作接口。
請完善類Order的成員函數getOrderedAmount()和類SalesSystem的statistic()方
法,各個類的屬性及部分方法定義參見下面的C++代碼。
【C++代碼】
class Product {//產品類
private:
string pid;//產品識別碼
string description;//產品描述
double price; //產品單價
public:
void setProductPrice(double price); //設置產品單價
string getProductld(); //獲取產品識別碼
string getProductDescription(); //獲取產品描述
double getProductPrice();//獲取產品單價
//其他成員省略
};

class ProductList{//產品列表類
private:
vector <Product> products;
public:
ProductList();
Product getProductByIndex(int i);//獲得產品列表中的第i件產品
void addProduct(Product t); //在產品列表中加入一件產品
Product * getProductByID(string pid); //獲得識別碼為pid的產品指針
unsigned int getProductAmount();//獲得產品列表中的產品數量
};

class OrderItem { //訂單條目類
private:
Product *productPtr;//指向被定購產品的指針
int quantity;//定購數量
public:
OrderItem (Product *, int);
Product * getProductptr();//獲取指向被定購產品的指針
int getQuantity (); //獲取被定購產品的數量
};

class Order { //訂單類
private:
unsigned int orderid;//訂單識別號
vector<OrderItem>items; //訂單內容(訂單項)
public:
Order(unsigned int orderid);
//獲得識別碼為tid的產品在當前訂單中被定購的數量
int getOrderedAmount(string tid);
void additem(Product *productPtr,unsigned int n);//在訂單中增加—個訂單項
//其他成員省略
};

class OrderList{ //訂單列表類
prtvate:
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 tt; Product p;
cout<<"產品識別碼\t描述\t\t定購數量\t金額"<<endl;

for(k=0; k<catalog.getProductAtnount(); k++){//遍歷產品列表
 p =(3) ; //從產品列表取得一件產品信息存入變量p
 ordered_qty = 0;
 //通過迭代器變量it遍歷訂單列表中的每一份訂單
 for(it = sales.Begin(); (4) ; it++){
//根據產品識別碼獲得產品p在當前訂單中被定購的數量
t = (5)(p.getProductId());
ordered_qty += t;
 }
 cout<<p.getProductId()<<"\t\t"<<p.getProductDescription()<<"\t\t";
 cout<<ordered_qty<<"\t\t"<<p.getProductPrice() * ordered_qty<<endl;
}
}


[答案討論]

[1]  [2]  [3]  [4]  [5]  [6]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!