試題一:閱讀下列說(shuō)明、圖和c++代碼。
[說(shuō)明]
某訂單管理系統(tǒng)的部分uml類圖如下圖所示。
上圖中,product表示產(chǎn)品,productlist表示產(chǎn)品目錄,order表示產(chǎn)品訂單,orderitem表示產(chǎn)品訂單中的一個(gè)條目,orderlist表示訂單列表,salessystem提供訂單管理系統(tǒng)的操作接口。
請(qǐng)完善類order的成員函數(shù)getorderedamount()和類salessystem的stafistic()方法,各個(gè)類的屬性及部分方法定義參見(jiàn)下面的c++代碼。
[c++代碼]
class product { //產(chǎn)品
private:
string pid; //產(chǎn)品識(shí)別碼
string description; //產(chǎn)品描述
double price; ///產(chǎn)品單價(jià)
public:
void setproductprice(double price); //設(shè)置產(chǎn)品單價(jià)
string getproduetld(); //獲取產(chǎn)品識(shí)別碼
string getproduetdescriprion 0; //獲取產(chǎn)品描述
double getproductprice0; //獲得產(chǎn)品單價(jià)
//其他成員省略
};
class productlist { //產(chǎn)品列表類
private:
vector <product> products;
public:
productlist();
product getproductbylndex(int i); //獲得產(chǎn)品列表中的第i件產(chǎn)品
void addproduct(product t); //在產(chǎn)品列表中加入一件產(chǎn)品
product * getproductbyid(string pid); //獲得識(shí)別碼為pid的產(chǎn)品指針
unsigned iht getproductamount(); //獲得產(chǎn)品列表中的產(chǎn)品婁量
};
class orderitem { //訂單條目類
private:
product *productptr; //指向被訂購(gòu)產(chǎn)品的指針
int quantity; //訂購(gòu)數(shù)量
public:
orderitem (product *,iht);
product * getproductptr o; //獲得指向被訂購(gòu)產(chǎn)品的指針
int getquantity (); //獲取被訂剛強(qiáng)產(chǎn)品數(shù)量
};
class order { //訂單類
private:
unsigned int orderid; //訂單識(shí)別號(hào)
vector<o(jì)rderltem> items; //訂單內(nèi)容(訂單項(xiàng))
public:
order(unsigned int orderid); //獲得識(shí)別碼為fid的產(chǎn)品在當(dāng)前訂單中被訂購(gòu)的數(shù)量
int getorderedamount(string fid);
void additem(product *productptr,unsigned int n); //在訂單中增加一個(gè)訂單項(xiàng)
};
class orderlist { //訂單列表類
private:
vector<o(jì)rder> orders;
public:
orderlist();
//begin()返回指向訂單列表第一個(gè)元素的迭代器(指針)
virtual vector<o(jì)rder>::iterator orderlist::begin();
//end()返回指向訂單列表最后一個(gè)元素之后的迭代器(指向一個(gè)不存在的元素)
virtual vector<o(jì)rder>::iterator orderlist::end();
void addorder(order t); //在訂單列表中加入一份訂單
//其他成員省略
};
class salessystem{
private:
productlist catalog; //產(chǎn)品目錄
orderlist sales; //訂單列表
public:
salessystem();
void statistic(); //統(tǒng)計(jì)所有產(chǎn)品的訂購(gòu)情況
//其他成員省略
};
//在訂單中查找識(shí)別碼為tid的產(chǎn)品的訂購(gòu)數(shù)量,若該產(chǎn)品沒(méi)有被訂購(gòu),則返回0
int order::getorderedamount(string tid)
{ for (int k=0; k < items.size(); k++) {
if( (1) ==tid)
return (2) ;
}
return 0;
}
//方法statistic()依次統(tǒng)計(jì)產(chǎn)品目錄中每個(gè)產(chǎn)品的訂購(gòu)總量,并打印輸出
//每個(gè)產(chǎn)品的識(shí)別碼、描述、訂購(gòu)總量和訂購(gòu)金額
void salessystem::statistic()
{ unsigned int k, t, ordered_qty = 0;
vector<o(jì)rder>::iterator it; product p;
cout<<''產(chǎn)品識(shí)別碼\t描述\t\t訂購(gòu)數(shù)量\t金額''<<endl;
for (k = 0; k < catalog.gctproductamount(); k++){//遍歷產(chǎn)品列表
p = (3) ; //從產(chǎn)品列表取得一件產(chǎn)品信息存入變量p
ordered_qty = 0;
//通過(guò)迭代器變量it遍歷訂單列表中的每一份訂單
for (it = sales. begin(); (4) : it++) {
//根據(jù)產(chǎn)品識(shí)別碼獲得產(chǎn)品p在當(dāng)前訂單中被訂購(gòu)的數(shù)量
t = (5) (p.getproductld());
ordered_qty +=t;
}
cout << p.getproducfld() << "\t\t"<< p.gntproductdescription() << "\t\t";
cout <<o(jì)rdered_qty << "\t\t" << p.getproductprice() * ordered_qty << endl;
}
}
查看答案
試題二:閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某巴士維修連鎖公司欲開發(fā)巴士維修系統(tǒng),以維護(hù)與維修相關(guān)的信息。該系統(tǒng)的 主要功能如下:
1)記錄巴士id和維修問(wèn)題。巴士到車庫(kù)進(jìn)行維修,系統(tǒng)將巴士基本信息和id記錄在巴士列表文件中,將待維修機(jī)械問(wèn)題記錄在維修記錄文件中,并生成維修訂單。
2)確定所需部件。根據(jù)維修訂單確定維修所需部件,并在部件清單中進(jìn)行標(biāo)記。
3)完成維修。機(jī)械師根據(jù)維修記錄文件中的待維修機(jī)械問(wèn)題,完成對(duì)巴士的維修,登記維修情況;將機(jī)械問(wèn)題維修情況記錄在維修記錄文件中,將所用部件記錄在部件 清單中,并將所用部件清單發(fā)送給庫(kù)存管理系統(tǒng)以對(duì)部件使用情況進(jìn)行監(jiān)控。巴士司機(jī)可查看已維修機(jī)械問(wèn)題。
4)記錄維修工時(shí)。將機(jī)械師提供的維修工時(shí)記錄在人事檔案中,將維修總結(jié)發(fā)送 給主管進(jìn)行績(jī)效考核。
5)計(jì)算維修總成本。計(jì)算部件清單中實(shí)際所用部件、人事檔案中所用維修工時(shí)的 總成本;將維修工時(shí)和所用部件成本詳細(xì)信息給會(huì)計(jì)進(jìn)行計(jì)費(fèi)。
現(xiàn)采用結(jié)構(gòu)化方法對(duì)巴士維修系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文 數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。
【問(wèn)題1】(5分)
使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體e1~e5的名稱。
【問(wèn)題2】(4分)
使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)d1~d4的名稱。
【問(wèn)題3】(3分)
說(shuō)明圖1-2中所存在的問(wèn)題。
【問(wèn)題4】(3分)
根據(jù)說(shuō)明和圖中術(shù)語(yǔ),釆用補(bǔ)充數(shù)據(jù)流的方式,改正圖1-2中的問(wèn)題。要求給出 所補(bǔ)充數(shù)據(jù)流的名稱、起點(diǎn)和終點(diǎn)。
查看答案
參考答案:
參考解析:m.xiexiliangjiufa.com/st/3813924619.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)wangly:
問(wèn)題1;
e1:巴士司機(jī) e2:機(jī)械師 e3:會(huì)計(jì) e4:主管 e5:庫(kù)存管理系統(tǒng)
問(wèn)題2:
d1:巴士列表文件 d2:維修記錄文件 d3:部件清單 d4:維修工時(shí)記錄
問(wèn)題3:
d2到3箭頭方向相反。
d3到2箭頭方向相反。
問(wèn)題4:
起點(diǎn)d2,終點(diǎn)2,名稱:待維修問(wèn)題
起點(diǎn)d3,終點(diǎn)5,名稱:部件成本
信管網(wǎng)cnitpm455975146352:
e1:司機(jī) e2:機(jī)械師 e3:會(huì)計(jì) e4:主管 e5:庫(kù)存管理系統(tǒng)<br>d1:巴士列表文件 d2:維修記錄文件 d3:部件清單 d4:人事檔案
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛(ài)好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |