C++ Primer(第5版) 练习 11.14
练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************> File Name: ex11.14.cpp> Author: > Mail: > Created Time: Wed 03 Apr 2024 22:45:23 PM CST************************************************************************/#include<iostream>
#include<iomanip>
#include<vector>
#include<map>
#include<set>
#include<utility>
#include<algorithm>
using namespace std;int main(){map<string, vector<pair<string, string>>> home;string lastName, firstName, birth;cout<<"Enter Name, birthday:"<<endl;cin>>firstName>>lastName>>birth;home[lastName].push_back(make_pair(firstName, birth));while(cin>>firstName>>lastName>>birth){if(home.find(lastName) != home.end()){home[lastName].push_back(make_pair(firstName, birth));}else{home[lastName].push_back(make_pair(firstName, birth));}}cout<<endl;cout<<"Name List:"<<endl;for(const auto h : home){for(const auto b : h.second){cout<<setw(8)<<right<<b.first<<" "<<setw(8)<<left<<h.first<<" "<<b.second<<endl;}}return 0;
}