代码:
#include <iostream>
#include <string>
using namespace std;
//定义人员信息结构体
struct person
{
string name;
int phone;
};
//定义人员信息存储容器
struct arr_person
{
struct person arr[1000]; //定义一个存储人员信息结构体的数组
int size; //定义一个变量记录加入通讯录人员的数量以及通讯录数组的下标
};
//目录函数
void directory()
{
cout<<"***********Welcome to use contacts***"<<endl;
cout<<"***********1.Add a contact***********"<<endl;
cout<<"***********2.Display contacts********"<<endl;
cout<<"***********3.Delete a contact********"<<endl;
cout<<"***********4.Find contacts***********"<<endl;
cout<<"***********5.Modify a contact********"<<endl;
cout<<"***********6.Empty the contact*******"<<endl;
cout<<"***********7.Quit Contacts***********"<<endl;
}
//添加人员函数
void add_person(arr_person *p)
{
cout<<"Please enter your name:";
cin>>p->arr[p->size].name;
cout<<"enter name success!!!";
cout<<"Please enter your phone:";
cin>>p->arr[p->size].phone;
cout<<"enter phone success!!!";
p->size=p->size+1;
cout<<"add person success"<<endl;
}
//显示联系人
void show_person(arr_person* p)
{
for(int i=0;i<p->size;i++)
{
cout<<p->arr[i].name;
cout<<p->arr[i].phone<<endl;
}
}
//删除联系人
void delete_person(arr_person* p)
{
string name;
cout<<"Please enter delete's name:";
cin>>name;
for(int i=0;i<p->size;i++)
{
if(p->arr[i].name==name)
{
for(int j=i;j<p->size;j++)
{
p->arr[j]=p->arr[j+1];
}
}
}
p->size--;
cout<<"delete success"<<endl;
}
//查找联系人
void serch_person(arr_person* p)
{
string name;
cout<<"Please enter search's name:";
cin>>name;
for(int i=0;i<p->size;i++)
{
if(p->arr[i].name==name)
{
cout<<"search success"<<endl;
cout<<p->arr[i].name;
cout<<p->arr[i].phone<<endl;
}
}
}
//修改联系人
void revise_person(arr_person* p)
{
string name;
cout<<"Please enter revise's name:";
cin>>name;
for(int i=0;i<p->size;i++)
{
if(p->arr[i].name==name)
{
cout<<"search success"<<endl;
cout<<"Please enter your name:";
cin>>p->arr[i].name;
cout<<"Please enter your phone:";
cin>>p->arr[i].phone;
}
}
}
//清空联系人
void empty_person(arr_person* p)
{
for(int i=0;i<p->size;i++)
{
p->arr[i].name='0';
p->arr[i].phone=0;
}
p->size=0;
cout<<"empty success"<<endl;
}
int main()
{
//初始化结构体
arr_person *p=new arr_person;
p->size=0;
while(1)
{
//调用目录函数
directory();
int a=0;
cin>>a;
switch(a)
{
case 1:
//添加联系人函数
add_person(p);
break;
case 2:
//显示联系人
show_person(p);
break;
case 3:
//删除联系人
delete_person(p);
break;
case 4:
//查找联系人
serch_person(p);
break;
case 5:
//修改联系人
revise_person(p);
break;
case 6:
//清空联系人
empty_person(p);
break;
case 7:
goto end;
}
}
end:
return 0;
}
效果:
增加一个新的联系人:

显示通讯录所有联系人:

根据联系人名字删除指定联系人

根据名字查找指定联系人

根据联系人名字修改联系人信息
