當前位置:編程學習大全網 - 源碼下載 - 速求教 掌握STL中的vector,list,set,map容器;掌握sort,find方法

速求教 掌握STL中的vector,list,set,map容器;掌握sort,find方法

1. 編寫壹個函數模板, 取const vector 參數並根據vector是否正向逆向都壹樣而返回true和false值;編寫main程序來測試該函數。

2. 編寫壹個函數模板, 取const list 參數並根據list是否正向逆向都壹樣而返回true和false; 編寫main程序來測試該函數。

3. 編寫壹個main程序, 使用vector存儲用戶從鍵盤輸入的n個整數, 利用STL中sort算法排序, 並用find方法查找某個數.

4. 使用set容器存儲整型元素, 編寫函數求兩個集合的交集.

5. 使用map來建立英文單詞zero, one, two, three… ten 到 0- 10 數字到映射關系; 輸入英文數字 one 後輸出數字 1.

6.編寫main函數,用map來來統計壹篇英文文章中單詞出現的頻率(為簡單起見,假定依次從鍵盤輸入該文章;

7. 模擬網上交易系統的中購物車;

本題目用Order模擬用戶的訂單,用Cart模擬用戶的購物車;具體聲明如下:

class Order//描述訂單

{

public:

Order(int gid, int gnum);//構造函數;

void print();//顯示訂購的商品編號: 數量

bool operator == (int gid);//判斷當前商品編號是否與參數gid相同,相同返回true,否則返回false

private:

int goods_id; //商品編號

int goods_number;//商品數量

};

class Cart//描述購物車, 存儲了多了產品的訂單

{

public:

void add(Order* or);//增加壹個訂單

void print();//顯示所有訂單信息

bool del(int gid); //如果有商品編號為gid的訂單就刪除,並返回true,否則返回false

private:

list<Order*> l_goods;//存儲了多了產品的訂單

};

請實現上述兩個類的成員函數,並且利用下面的main程序進行測試。

void main()

{

Cart c;

int n,i;

int gid,gnum;

cout << "妳要訂購多少商品" <<endl;

cin >> n;

//測試 Cart::add方法

cout << "測試 Cart::add方法---------------" << endl;

for(i = 0;i<n;i++)

{

cout << "請輸入第"<< i+1 <<"個訂單信息"<<endl;

cin >> gid >> gnum;

c.add(new Order(gid,gnum));

}

//測試Cart::print方法

cout << "妳的訂單信息如下"<<endl;

c.print();

//測試Cart::del方法

cout <<"測試Cart::del方法, 請輸入要刪除的訂單的產品編號"<<endl;

cin >> gid;

c.del(gid);

cout <<"現在妳的訂單信息如下"<<endl;

c.print();

}

8.模擬網上拍賣系統中的客戶分組

客戶類 Client

客戶類表示拍賣系統的註冊用戶。這個類封裝了以下私有數據成員: firstname,lastname,email,password。封裝了以下的公有成員函數:

(1)默認構造函數:將數據成員初始化化為默認值。

(2)具有四個參數的構造函數:用參數值為數據成員初始化

(3) 拷貝構造;

(4) 訪問和存取私有數據成員的方法;

(5)驗證密碼的函數: virtual bool verifyPasswd(string passwd); 如果參數與對象的用戶密碼相同返回true,否則返回false。

(6)重載輸入運算符函數operator>> ,可以 接受如下格式的客戶信息:

firstname \n lastname \n email \n password \n

Group類

Group類表示用戶集合.這個類有壹個私有數據成員 vector<Client*>, 存儲用戶的指針。

該類有以下成員函數:

(1)virtual void add(Client* ptr); 增加壹個用戶指針

(2)virtual iterator begin(); 返回第壹個用戶指針的叠代器。

(3)virtual iterator end();返回最後壹個用戶指針的叠代器。

(4)virtual Client* operator[](const string& email);返回郵箱地址與參數相同的用戶的地址。

handout-files.zip 含有以下兩個文件:

oGroup.h - class Group 的聲明.

oClient.h –class Client 的聲明

------Solutions------

考題?

------Solutions------

標題和內容不符。

想掌握那些容器,看書,如 c++ primer

------Solutions------

找本C++的書看看吧。基礎

------Solutions------

c++標準程序庫和STL源碼剖析撒

------Solutions------

《C++ Primer》

  • 上一篇:微信轉賬到銀行卡的手續費是多少?
  • 下一篇:電商平臺系統有哪些?
  • copyright 2024編程學習大全網