#我的程序对第一个输入的家庭无法保存,查询也查不到
#include<iostream>
#include<vector>
#include<string>
#include<map>
using namespace std;
typedef vector<string> vstring;
typedef map<string, vstring> mytype;
int main()
{
do
{
string Family;
string Name;
vector<string> vname;
cout << "输入家庭名称" << endl;
cin >> Family;
//map的find函数
map<string, vector<string>> FamilyMap;
mytype::iterator it = FamilyMap.find(Family);
if (it != FamilyMap.end())
{
cout << "已存在的家庭名称:" << Family << endl;
continue;
}
cout << "输入孩子的名字" << endl;
while (cin >> Name)
{
vname.push_back(Name);
cin.clear();
if (cin.get() == '\n')
break;
}
cin.clear();
FamilyMap.insert(make_pair(Family, vname));
cout << "是否继续添加 是【0】 否【1】" << endl;
int choice;
cin >> choice;
if (choice == 0)continue;
//查询
cout << "请输入要查询的家庭:";
cin >> Family;
map<string, vstring>::iterator ret = FamilyMap.find(Family);
if (ret != FamilyMap.end())
{
cout << "孩子有:" << endl;
vector<string >::iterator ite = ret->second.begin();
while (ite != ret->second.end())
{
cout << *ite << endl;
ite++;
}
}
else
cout << "没有您要查询的家庭!" << endl;
} while (cin);
return 0;
}