C++ Primer 第10章 习题10.26

来源:互联网 发布:知乎日报离线下载api 编辑:程序博客网 时间:2024/05/22 07:59
//10.26.cpp//建立作者及其作品的multimap容器。//使用find函数在multimap中查找元素//并调用erase将其删除。//当所寻找的元素不存在时,确保你的程序依然能正确执行#include<iostream>#include<map>#include<string>using namespace std;int main(){multimap<string,string> authors;string author,work,searchItem;//建立作者及其作品的multimap容器do{cout<<"Enter author name(Ctrl-z to end):"<<endl;cin>>author;if(!cin)break;cout<<"Enter author's works(Ctrl-z to end):"<<endl;while(cin>>work)authors.insert(make_pair(author,work));cin.clear(); //读入了一位作者的所有作品后使流对象从新有效} while(cin);cin.clear();//使流对象从新有效//读入要找的作者cout<<"Who is the suthor that you want earse:"<<endl;cin>>searchItem;//找到作者对应的第一个元素multimap<string,string>::iterator iter=authors.find(searchItem);if(iter!=authors.end())//删除该作者的所有作品authors.erase(searchItem);elsecout<<"Can not find this author!"<<endl;//输出multimap对象cout<<"author\t\twork:"<<endl;for(iter=authors.begin();iter!=authors.end();++iter)cout<<iter->first<<"\t\t"<<iter->second<<endl;return 0;} 

原创粉丝点击