会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
spring学习笔记
C++ Primer 第10章 习题 10.19
//10.19.cpp //定义一个map对象为,其元素的键是家族姓氏, //而值则是vector对象,该vector对象存储pair类型的对象 //pair对象记录每个孩子的名字和生日 //进行基于家族姓氏的查询,输出该家族所有孩子的名字和生日 #include<iostream> #include<map> #include<utility> #include<vector> #include<string> using namespace std; int main() { map<string,vector<pair<string,string> > > children; string surname,childName,birthday; //读入条目(家族姓氏及其所有孩子的名字和生日) do { cout<<"请输入家族姓氏(Ctrl-Z to end):"<<endl; cin>>surname; if(!cin) //读入结束 break; //插入新条目 vector<pair<string, string> > chd; pair<map<string,vector<pair<string,string> > >::iterator,bool> ret= children.insert(make_pair(surname,chd)); if(!ret.second) //该家族姓氏已在map容器中存在 { cout<<"repeated surname: "<<surname<<endl; continue; } cout<<"请输入该家族孩子的名字和生日(Ctrl-z to end):"<<endl; while(cin>>childName>>birthday) { ret.first->second.push_back(make_pair(childName,birthday)); } cin.clear(); } while(cin); cin.clear(); //使输入流从新有效 //读入要查询的家族 cout<<"请输入你要查询的家族姓氏:"<<endl; cin>>surname; //根据读入的家族姓氏进行查找 map<string,vector<pair<string,string> > >::iterator iter; iter=children.find(surname); //输出查询结果 if(iter==children.end()) //找不到该家族姓氏 cout<<" no this surname:"<<surname<<endl; else //找到该家族姓氏 { cout<<"children\t\tbirthday"<<endl; //输出该家族所有孩子的名字和生日 vector<pair<string,string> >::iterator it= iter->second.begin(); while(it!=iter->second.end()){ cout<<it->first<<"\t\t"<<it->second<<endl; it++; } } return 0; }
posted on
2012-02-24 12:14
spring学习笔记
阅读(
133
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
联系
订阅
管理
公告