练习11.14:扩展你在11.2.1节练习中编写的孩子姓达到名的map,添加一个pair的vector,保存孩子的名和生日。
#include<iostream>
#include<vector>
#include<string>
#include<map>
#include<utility>
using namespace std;
int main()
{
map<string, vector<string>>family;
vector < pair<string, double>>birthday;
string first_name, last_name;
double h;
while ([&]()->bool {cout << "姓:"; return cin >> first_name && (first_name != "end"); }())
{
while ((cout << "名:"),cin >> last_name)
{
if (last_name == "end")
break;
family[first_name].push_back(last_name);
cout << "生日:";
cin >> h;
birthday.push_back(make_pair(last_name, h));
}
}
for (auto t : family)
{
for (auto t2 : t.second)
{
cout << t.first << t2<<" ";
}
cout << endl;
}
for (vector<pair<string, double>>::iterator i = birthday.begin(); i != birthday.end(); ++i)
cout << i->first << " " << i->second << endl;
}