速求教 掌握STL中的vector,list,set,map容器;掌握sort,find方法
1个回答
推荐于2016-12-06 · 知道合伙人软件行家
关注
展开全部
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》
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》
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询