主题:求救啊!!!!!
#include<iostream>
#include<string>
#include<map>
using namespace std;
void main()
{
multimap<string,string> mu;
string zz;
cout<<"添加--输入作者:";
while(cin>>zz)
{
string ss;
cout<<"添加--输入书名:";
cin>>ss;
mu.insert(make_pair(zz,ss));
cout<<"添加成功"<<endl;
string ii;
cout<<"1.继续添加 其他:查询已有书本?";
cin>>ii;
if(ii=="1")
{
cout<<"添加--输入作者:";
continue;
}
else break;
}
for(multimap<string,string>::iterator it=mu.begin();it!=mu.end();it++)
for(char c='a';c<='z';c++)
if((it->first)[0]==c)
{
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> p=mu.equal_range(it->first);
cout<<"name beginning with '"<<c<<"':"<<endl;
cout<<it->first;
for(multimap<string,string>::iterator it2=p.first;it2!=p.second;it2++)
cout<<","<<it2->second;
cout<<endl;
it=p.second;
}
}
大神们,,为什么这么程序运行后内存会出错啊。。运行结果是对的。。
#include<string>
#include<map>
using namespace std;
void main()
{
multimap<string,string> mu;
string zz;
cout<<"添加--输入作者:";
while(cin>>zz)
{
string ss;
cout<<"添加--输入书名:";
cin>>ss;
mu.insert(make_pair(zz,ss));
cout<<"添加成功"<<endl;
string ii;
cout<<"1.继续添加 其他:查询已有书本?";
cin>>ii;
if(ii=="1")
{
cout<<"添加--输入作者:";
continue;
}
else break;
}
for(multimap<string,string>::iterator it=mu.begin();it!=mu.end();it++)
for(char c='a';c<='z';c++)
if((it->first)[0]==c)
{
pair<multimap<string,string>::iterator,multimap<string,string>::iterator> p=mu.equal_range(it->first);
cout<<"name beginning with '"<<c<<"':"<<endl;
cout<<it->first;
for(multimap<string,string>::iterator it2=p.first;it2!=p.second;it2++)
cout<<","<<it2->second;
cout<<endl;
it=p.second;
}
}
大神们,,为什么这么程序运行后内存会出错啊。。运行结果是对的。。