#include <windows.h>
#include <iostream>
using namespace std;
class address_list
{
public:
string name,number,kind,url;
void set(string sname="0",string snumber="0",string skind="0",string surl="0")
{
name=sname;
number=snumber;
kind=skind;
url=surl;
}
void print()
{
cout<<"姓名:"<<name<<" 电话号码:"<<number<<" 类别:"<<kind<<" 电子邮件:"<<url<<endl;
}
}time[15]; //最多只能15个联系人
int k=0;
int search(int n) //查找联系人
{
char a;
string s;
cout<<"请输入要查的类别:"<<endl<<"A:办公类"<<endl<<"B:个人类"<<endl<<"C:商务类"<<endl<<"您的选择是(选A、B、C):";
cin>>a;
switch(a)
{
case 'A':s="办公类";break;
case 'B':s="个人类";break;
case 'C':s="商务类";break;
}
for(int i=0;i<n;i++)
{
if(time[i].kind==s)
{
time[i].print();
}
}
return n;
}
int add(int n) //添加联系人
{
int p=0;
string sname,snumber,skind,surl;
cout<<"请输入要添加的姓名:";cin>>sname;
cout<<"电话号码:";cin>>snumber;
cout<<"类别:";cin>>skind;
cout<<"电子邮件:";cin>>surl;
for(int i=0;i<n;i++)
{
if(time[i].name==sname || time[i].number==snumber)
{
p=1;
break;
}
}
if(p)
{
return n;
}
else
{
time[n].set(sname,snumber,skind,surl);
return n+1;
}
}
int modify(int n) //修改联系人
{
int k=1;
char jl[4];
cout<<"请看通讯录:"<<endl;
for(int i=0;i<n;i++)
{
cout<<i+1<<':';
time[i].print();
}
string sname;
cout<<"你想修改谁的信息:";
cin>>sname;
for(int i=0;i<n;i++)
{
if(time[i].name==sname)
{
time[i].print();
int c;
cout<<"你想修改几个信息:";
cin>>c;
cout<<"您想要修改哪个信息:"<<endl;
cout<<"输入N修改姓名"<<endl<<"输入B修改电话号码"<<endl<<"输入K修改类别"<<endl<<"输入U修改电子邮件"<<endl;
for(int j=0;j<c;j++)
{
cin>>jl[j];
}
for(int j=0;j<c;j++)
{
switch(jl[j])
{
case 'N':cout<<"新名字是:";cin>>time[i].name;break;
case 'B':cout<<"新电话号码是:";cin>>time[i].number;break;
case 'K':cout<<"新类别是:";cin>>time[i].kind;break;
case 'U':cout<<"新电子邮件是:";cin>>time[i].url;break;
}
}
k=0;
break;
}
}
if(k)
{
cout<<"没有这个人!"<<endl;
}
return n;
}
int delete1(int n) //删除联系人
{
cout<<"请看通讯录:"<<endl;
for(int i=0;i<n;i++)
{
cout<<i+1<<':';
time[i].print();
}
string sname;
cout<<"您想要删除谁的信息:";
cin>>sname;
for(int i=0;i<n;i++)
{
if(time[i].name==sname)
{
if(i<n-1)
{
for(int j=i;j<n-1;j++)
{
time[j]=time[j+1];
}
}
}
}
return n-1;
}
int look(int n) //查找联系人
{
for(int i=0;i<n;i++)
{
time[i].print();
}
return n;
}
int main()
{
int n;
time[0].name="余小二";time[0].number="13543646666";time[0].kind="个人类";time[0].url="984121238.@qq.com"; //初始化四个人
time[1].name="陆远";time[1].number="13543641111";time[1].kind="办公类";time[1].url="596375775.@qq.com";
time[2].name="甘敬";time[2].number="13543641231";time[2].kind="商务类";time[2].url="1501015777.@qq.com";
time[3].name="林宇晴";time[3].number="13543646786";time[3].kind="办公类";time[3].url="408218645.@qq.com";
int k=14;
while(1)
{
cout<<" 通讯录";cout<<endl<<" 查找:请按“1”"<<endl<<" 添加:请按“2”"<<endl;
cout<<" 修改:请按“3”"<<endl<<" 删除:请按“4”"<<endl<<" 查看:请按“5”"<<endl;
cout<<" 退出:请按“0”"<<endl<<"请输入你的操作:";
cin>>n;
if(n==2 && k==15)
{
cout<<"你的通讯录已满!"<<endl;
}
else
{
if(n>=0 && n<=5)
{
switch(n)
{
case 1:k=search(k);break;
case 2:k=add(k);break;
case 3:k=modify(k);break;
case 4:k=delete1(k);break;
case 5:k=look(k);break;
case 0:exit(0);
}
}
else
cout<<"选择错误,请再次选择!"<<endl;
}
}
}