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;
}
运行结果显示如下

C++ //练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。-LMLPHP

04-05 07:30