用vector、 multimap、 list容器实现好友列表的各种操作 C++(二)

2014-11-24 12:36:24 · 作者: · 浏览: 7
yInfo().id == userId)

{

cout<

cout<<"**********************************"<

cout<<"请输入新增好友的信息"<

Info info1;

while(1)

{

cout<<"**********************************"<

cout<<"请输入好友账号(以0结束):";

cin>>info1.id;

if(info1.id=="0")

break;

cout<<"请输入他的姓名:";

cin>>info1.name;

cout<<"请输入他的其他的信息:";

cin>>info1.otherInfo;

BuddyList *pBuddyList = &usersBudList.at(i);

//cout<getMyInfo().id<

if(pBuddyList->isBuddy(info1.id))

{

cout<<"他的好友列表中已存在此账号!"<

continue;

}

pBuddyList->addBuddy(info1);

cout<<"添加成功!"<

}

break;

}

}

if(it1 == usersBudList.end())

cout<<"无此账号的用户!"<

}

else if(cmd=='S'||cmd=='s')

{

cout<

string userId;

list userList;

while(1)

{

cout<<"****************************************"<

cout<<"请输入用户账号(以0结束):"<

cin>>userId;

if(userId=="0")

break;

vector::iterator it1;

for( it1= usersBudList.begin(); it1 != usersBudList.end(); ++it1)

{

if(it1->getMyInfo().id == userId)

{

userList = it1->getBuddies();

if(userList.size()==0)

{

cout<<"此账号用户的好友列表为空!"<

break;

}

cout<<"他的好友有:"<

for(list::iterator it2 = userList.begin(); it2 != userList.end(); ++it2)

{

cout<<"账号:"<id<<" 姓名:"<name<<" 其他信息:"<otherInfo<

}

break;

}

}

if(it1 == usersBudList.end())

cout<<"无此账号的用户!"<

}

}

else if(cmd=='R'||cmd=='r')

{

cout<

string userId;

string friId;

list userList;

while(1)

{

cout<<"****************************************"<

cout<<"请输入用户账号(以0结束):"<

cin>>userId;

if(userId=="0")

break;

vector::iterator it1 = usersBudList.begin();

for(; it1 != usersBudList.end(); ++it1)

{

if(it1->getMyInfo().id == userId)

{

cout<

cout<<"****************************************"<

cout<<"请输入需要删除的好友的账号:"<

cin>>friId;

bool flag = it1->remove(friId);

if(flag)

cout<<"删除成功!"<

else

cout<<"他的好友中没有此账号!"<

break;

}

}

if(it1 == usersBudList.end())

cout<<"无此账号的用户!"<

}

}

else if(cmd=='E'||cmd=='e')

{

break;

}

else

{

cout<<"输入命令不正确!请重新输入!"<

}

cout<<"*************************************************************"<

cout<<"***********************请选择需要进行的操作******************"<

cout<<"*************************************************************"<

cout<

cin>>cmd;

}

system("pause");

return 0;

}

----------------------------------------------程序测试---------------------------------------------------------

***********************请选择需要进行的操作******************

---------------建立所有用户好友列表(C/c)------------------

-------------------新增用户好友(I/i)----------------------

---------------查找指定用户所有好友(S/s)------------------

---------------删除指定用户某位好友(R/r)------------------

------------------------退出(E/e)-------------------------

c

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

请输入所有用户

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

请输入账号(以0结束):2008550820

请输入他的姓名:heyong

请输入他的其他的信息:cs

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

请输入他所有好友的信息

**********************************

请输入好友账号(以0结束):0894042210

请输入他的姓名:luoyao

请输入他的其他的信息:ac

**********************************

请输入好友账号(以0结束):2008550802

请输入他的姓名:zhouqian

请输入他的其他的信息:cs

**********************************

请输入好友账号(以0结束):2008552980

请输入他的姓名:lina

请输入他的其他的信息:sw

**********************************

请输入好友账号(以0结束):0

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

请输入账号(以0结束):0894042210

请输入他的姓名:luoyao

请输入他的其他的信息:ac

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

请输入他所有好友的信息

**********************************

请输入好友账号(以0结束):0897508652

请输入他的姓名:liuhuan

请输入他的其他的信息:tg

**********************************

请输入好友账号(以0结束):0812345678

请输入他的姓名:lijun

请输入他的其他的信息:tf

**********************************

请输入好友账号(以