#include <iostream>
#include <string>
using namespace std;
class addressbook
{
private:
string Name;
string Num;
string Address;
string Phone;
bool sex;
int Age;
addressbook *next;
public:
addressbook()
{
Name="no name";
Num="no num";
sex=wu;
Age=0;
Address="no address";
Phone="no phone";
next=NULL;
}
void setname()
{
cout<<"输入姓名"<<endl;
cin>>Name;
}
string getname()
{
return Name;
}
void setnum()
{
cout<<"输入编号"<<endl;
cin>>Num;
}
string getnum()
{
return Num;
}
void setsex()
{
int x;cout<<"输入0或1,0代表男性,1代表女性"<<endl;
cin>>x;
}
string getsex()
{
return (sex==Man)?"Man":"Woman";
}
void setage()
{
cout<<"输入年龄"<<endl;
cin>>Age;
}
int getage()
{
return Age;
}
void setaddress()
{
cout<<"输入地址"<<endl;
cin>>Address;
}
string getaddress()
{
return Address;
}
void setphone()
{
cout<<"输入电话号码"<<endl;cin>>Phone;
}
string getphone()
{
return Phone;
}
void setnext(addressbook *people)
{
next=people;
}
addressbook* getnext()
{
return next;
}
};
int main()
{
addressbook *head=new addressbook();
addressbook *st[999];
int i;
int n;
cout<<"请输入指令 0,1,2,3,4,5"<<endl;
cout<<"0、退出通讯录系统"<<endl;
cout<<"1、 录入功能";
cout<<"性别的输入应是男或女";
cout<<"输入的年龄应在0~100之间"<<endl;
cout<<"2、 增加功能"<<endl;
cout<<"3、 删除功能"<<endl;
cout<<"4、 查找功能"<<endl;
cout<<"5、 修改功能"<<endl;
cout<<"请输入:"<<endl;
cin>>n;
while(!(0<=n&&n<=5)
{
cin>>n;
}
while(n)
{
switch (n)
{
case 1:
{
int num;
cout<<"请输入需要录入的学生人数"<<endl;
cin>>num;
for(i=0;i<num;i++)
{
st[i]=new addressbook();
st[i]->setname();
st[i]->setage();
st[i]->setnum();
st[i]->setphone();
st[i]->setaddress();
st[i]->setsex();
st[i]->setnext(head->getnext());
head->setnext(st[i]);
}
break;
}
case 2:
{
addressbook* p;
p=new addressbook();
p->setname();
p->setage();
p->setnum();
p->setphone();
p->setaddress();
p->setsex();
p->setnext(head->getnext());
head->setnext(p);
break;
}
case 3:{
string number;
cout<<"输入要删除的人的编号"<<endl;
cin>>number;
addressbook* p;
addressbook* q;
p=head;
if(head->getnext()==NULL)
cout<<"通讯录为空"<<endl;
while(p->getnum()!=number)
{
q=p;
p=p->getnext();
}
if(p->getnext()==NULL)
cout<<"查无此人"<<endl;
else
{
q->setnext(p->getnext());
p->~addressbook();
cout<<"编号为"<<number<<"的人已经删除"<<endl;
}
break;
}
case 4:
{
string na;
cout<<"请输入姓名"<<endl;
cin>>na;
addressbook * p=head->getnext();
while(p)
{
if(p->getname()==na) break;
p=p->getnext();
}
if(p==NULL)
cout<<"查无此人"<<endl;
else
{
cout<<"修改姓名"<<endl;
p->setname();
cout<<"修改编号"<<endl;
p->setnum();
cout<<"修改年龄"<<endl;
p->setage();
cout<<"修改地址"<<endl;
p->setaddress();
cout<<"修改性别"<<endl;
p->setsex();
cout<<"修改电话号码"<<endl;
p->setphone();
cout<<"修改完毕"<<endl;
}
break;
}
}
cout<<"请输入指令 0,1,2,3,4,5"<<endl;
cout<<"0、退出通讯录系统"<<endl;
cout<<"1、 录入功能";
cout<<"性别的输入应是男或女";
cout<<"输入的年龄应在0~100之间"<<endl;
cout<<"2、 增加功能"<<endl;
cout<<"3、 删除功能"<<endl;
cout<<"4、 查找功能"<<endl;
cout<<"5、 修改功能"<<endl;
cout<<"请输入:"<<endl;
cin>>n;
}
}
#include <string>
using namespace std;
class addressbook
{
private:
string Name;
string Num;
string Address;
string Phone;
bool sex;
int Age;
addressbook *next;
public:
addressbook()
{
Name="no name";
Num="no num";
sex=wu;
Age=0;
Address="no address";
Phone="no phone";
next=NULL;
}
void setname()
{
cout<<"输入姓名"<<endl;
cin>>Name;
}
string getname()
{
return Name;
}
void setnum()
{
cout<<"输入编号"<<endl;
cin>>Num;
}
string getnum()
{
return Num;
}
void setsex()
{
int x;cout<<"输入0或1,0代表男性,1代表女性"<<endl;
cin>>x;
}
string getsex()
{
return (sex==Man)?"Man":"Woman";
}
void setage()
{
cout<<"输入年龄"<<endl;
cin>>Age;
}
int getage()
{
return Age;
}
void setaddress()
{
cout<<"输入地址"<<endl;
cin>>Address;
}
string getaddress()
{
return Address;
}
void setphone()
{
cout<<"输入电话号码"<<endl;cin>>Phone;
}
string getphone()
{
return Phone;
}
void setnext(addressbook *people)
{
next=people;
}
addressbook* getnext()
{
return next;
}
};
int main()
{
addressbook *head=new addressbook();
addressbook *st[999];
int i;
int n;
cout<<"请输入指令 0,1,2,3,4,5"<<endl;
cout<<"0、退出通讯录系统"<<endl;
cout<<"1、 录入功能";
cout<<"性别的输入应是男或女";
cout<<"输入的年龄应在0~100之间"<<endl;
cout<<"2、 增加功能"<<endl;
cout<<"3、 删除功能"<<endl;
cout<<"4、 查找功能"<<endl;
cout<<"5、 修改功能"<<endl;
cout<<"请输入:"<<endl;
cin>>n;
while(!(0<=n&&n<=5)
{
cin>>n;
}
while(n)
{
switch (n)
{
case 1:
{
int num;
cout<<"请输入需要录入的学生人数"<<endl;
cin>>num;
for(i=0;i<num;i++)
{
st[i]=new addressbook();
st[i]->setname();
st[i]->setage();
st[i]->setnum();
st[i]->setphone();
st[i]->setaddress();
st[i]->setsex();
st[i]->setnext(head->getnext());
head->setnext(st[i]);
}
break;
}
case 2:
{
addressbook* p;
p=new addressbook();
p->setname();
p->setage();
p->setnum();
p->setphone();
p->setaddress();
p->setsex();
p->setnext(head->getnext());
head->setnext(p);
break;
}
case 3:{
string number;
cout<<"输入要删除的人的编号"<<endl;
cin>>number;
addressbook* p;
addressbook* q;
p=head;
if(head->getnext()==NULL)
cout<<"通讯录为空"<<endl;
while(p->getnum()!=number)
{
q=p;
p=p->getnext();
}
if(p->getnext()==NULL)
cout<<"查无此人"<<endl;
else
{
q->setnext(p->getnext());
p->~addressbook();
cout<<"编号为"<<number<<"的人已经删除"<<endl;
}
break;
}
case 4:
{
string na;
cout<<"请输入姓名"<<endl;
cin>>na;
addressbook * p=head->getnext();
while(p)
{
if(p->getname()==na) break;
p=p->getnext();
}
if(p==NULL)
cout<<"查无此人"<<endl;
else
{
cout<<"修改姓名"<<endl;
p->setname();
cout<<"修改编号"<<endl;
p->setnum();
cout<<"修改年龄"<<endl;
p->setage();
cout<<"修改地址"<<endl;
p->setaddress();
cout<<"修改性别"<<endl;
p->setsex();
cout<<"修改电话号码"<<endl;
p->setphone();
cout<<"修改完毕"<<endl;
}
break;
}
}
cout<<"请输入指令 0,1,2,3,4,5"<<endl;
cout<<"0、退出通讯录系统"<<endl;
cout<<"1、 录入功能";
cout<<"性别的输入应是男或女";
cout<<"输入的年龄应在0~100之间"<<endl;
cout<<"2、 增加功能"<<endl;
cout<<"3、 删除功能"<<endl;
cout<<"4、 查找功能"<<endl;
cout<<"5、 修改功能"<<endl;
cout<<"请输入:"<<endl;
cin>>n;
}
}