#include <iostream> #include <map> #include <string> using namespace std; int main() { multimap<string,string> authors; string author,work,search_item; //建立作者及其作品的multimap容器 do { cout<<"Enter author name:"<<endl; cin>>author; if(!cin) break; cout<<"Enter author's works:"<<endl; while(cin>>work) authors.insert(make_pair(author,work)); cin.clear();//读入一位作者的所有作品后使流重新有效 } while(cin); cin.clear();//使流重新有效 //读入要找的作品 cout<<"Who is the author that you want erase:"<<endl; cin>>search_item; //找到该作者对应的第一个元素 multimap<string,string>::iterator iter=authors.find(search_item); if (iter!=authors.end()) { authors.erase(search_item);//erase将删除键的所有值 } else { cout<<"can not find this author!"<<endl; } cout<<"author/t/twork:"<<endl; for (iter=authors.begin();iter!=authors.end();++iter) { cout<<iter->first<<"/t/t"<<iter->second<<endl; } return 0; }