初来乍到,各位多多关照。
// STLPhonBook.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using namespace std;
enum MenuOptionSelect
{
InsertContactsetEnity=0,
DisplayEntries=1,
FindNumber=2,
DeleteConnect=3,
QuitApplation=4
};
struct ContactItem
{
string strYouName;
string strYouNumber;
ContactItem(const string & strName,const string &strNumber)
{
strYouName=strName;
strYouNumber=strNumber;
}
bool operator == (const ContactItem &itemToCompare) const
{
return (itemToCompare.strYouName==this->strYouName);
}
bool operator < (const ContactItem & itemtoCompare) const
{
return (this->strYouName<itemtoCompare.strYouName);
}
};
int ShowMenu();
ContactItem GetConnectInfo();
void DisplayConnectSet(const set<ContactItem> & setConnects);
void FindConnect(const set<ContactItem>& setConnects);
void DelateConnects(set<ContactItem >& setConnects);
int _tmain(int argc, _TCHAR* argv[])
{
set<ContactItem> setConnects;
int nUserSelection=InsertContactsetEnity;
//实现的就是为了一直循环 供用户选择 知道选择 结束程序
while(nUserSelection=ShowMenu()!=(int)QuitApplation)
{
switch(nUserSelection)
{
case InsertContactsetEnity:
setConnects.insert(GetConnectInfo());
cout<<"电话薄更新成功!"<<endl;
break;
case DisplayEntries:
DisplayConnectSet(setConnects);
break;
case FindNumber:
FindConnect(setConnects);
break;
case DeleteConnect:
DelateConnects(setConnects);
DisplayConnectSet(setConnects);
break;
default:
cout<<"非法输入!你得选择0-4里面的数据!!"<<endl;
break;
}
}
return 0;
}
void DisplayConnectSet(const set<ContactItem> & setConnects)
{
cout<<"* * * * * * * 电话簿信息 * * * * * * *"<<endl;
cout<<"总共有"<<setConnects.size()<<"个电话信息"<<endl;
set<ContactItem>::const_iterator iterConnect=setConnects.begin();
while(iterConnect!=setConnects.end())
{
cout<<"姓名:"<<iterConnect->strYouName<<" 电话:"<<iterConnect->strYouNumber<<endl;
iterConnect++;
}
}
ContactItem GetConnectInfo()
{
cout<<"请输入名字:>>";
string strName;
cin>>strName;
string strPhonNumber;
cout<<strName<<"的电话号码:>>";
cin>>strPhonNumber;
return ContactItem(strName,strPhonNumber);
}
int ShowMenu()
{
cout<<"**** * * * * ***欢迎,请选择***** * * * *******"<<endl;
cout<<"选择 0 添加 姓名以及 电话 "<<endl;
cout<<"选择 1 来显示所有电话信息 "<<endl;
cout<<"选择 2 来查找信息 "<<endl;
cout<<"选择 3 来删除电话信息"<<endl;
cout<<"选择 4 来结束电话簿服务 !"<<endl;
cout<<">>";
int nYourSelect=0;
cin>>nYourSelect;
cout<<endl;
return nYourSelect;
}
void FindConnect(const set<ContactItem>& setConnects)
{
cout<<"@@@@@@@@@@@@@@@@@@@@@22"<<endl;
cout<<"输入名字,哥来帮你找:"<<endl;
cout<<">>"<<endl;
string strName;
cin>>strName;
set<ContactItem>::const_iterator iterFind=setConnects.find(ContactItem(strName,""));
if (iterFind!=setConnects.end())
{
cout<<strName<<" 被找到!电话号码:"<<iterFind->strYouNumber<<endl;
}
else
cout<<"貌似没有这个人啊???"<<endl;
cout<<endl;
return;
}
void DelateConnects(set<ContactItem >& setConnects)
{
cout<<"你喜爱删除谁的信息捏??"<<endl;
cout<<">>"<<endl;
string strName;
cin>>strName;
size_t nDelet=setConnects.erase(ContactItem(strName,""));
if (nDelet>0)
{
cout<<strName<<"删除了!"<<endl;
}
else
cout<<strName<<"没找到!"<<endl;
}