#include
using namespace std;
#include
#define MAX 1000
class Person
{
public:
string name;
int sex;
int age;
string phone;
string addr;
};
class detile
{
public:
Person a[MAX];//保存联系人数组;
int size=0;//记录联系人的个数
};
void showMenu()
{
//显示菜单
cout << “**" << endl;
cout << “1.添加联系人” << endl;
cout << “2.显示联系人” << endl;
cout << “3.删除联系人” << endl;
cout << “4.查找联系人” << endl;
cout << “5.修改联系人” << endl;
cout << “6.清空联系人” << endl;
cout << “0.退出通讯录” << endl;
cout << "” << endl;
}
void addperson(detile*abs)
{
if (abs->size == MAX)
{
cout << “通讯录满了无法添加” << endl;
return;
}
else
{
string name;
cout << “请输入姓名” << endl;
cin >> name;
abs->a[abs->size].name = name;
cout << “请输入性别1,男。2,女” << endl;
int sex = 0;
int ture = 1;
while (ture)
{
cin >> sex;
if (sex == 1 ||sex== 2)
{
abs->a[abs->size].sex = sex;
break;
}
else
{
cout << “输入非法 重新输入” << endl;
}
}
while (true)
{
cout << “请输入年龄” << endl;
int age = 0;
cin >> age;
if (age > 0 && age < 150)
{
abs->a[abs->size].age = age;
break;
}
else
{
cout << “非法输入,请重新输入” << endl;
}
}
cout << "请输入家庭住址" << endl;
string b;
cin >> b;
abs->a[abs->size].addr= b;
cout << "请输入此联系人电话号码" << endl;
cin >> abs->a[abs->size].phone;
cout << "添加成功" << endl;
abs->size++;
system("pause");
system("cls");
}
}
void showperson(detile*abs)
{
if (abs->size == 0)
cout << “当前没有联系人” << endl;
else
{
for (int i = 0; i < abs->size; i++)
{
cout << " 姓名" << abs->a[i].name;
cout << " 年龄" << abs->a[i].age;
cout << " 性别1男2女" << abs->a[i].sex;
cout << “联系电话” << abs->a[i].phone;
cout << " 家庭住址" << abs->a[i].addr<<endl;
}
}
system("pause");
system("cls");
}
void deleperson(detile*abs)
{
cout << “请输入要删除人的名字” << endl;
string name;
int ret;
if (abs->size == 0)
{
cout << “当前没有联系人无法删除”;
system(“pause”);
}
cin >> name;
for (int i = 0; i < abs->size; i++)
{
if (name != abs->a[i].name)
{
cout << “查无此人”;
system(“cls”);
break;
}
else
{
ret = i;
}
for (int j = ret; j < abs->size; j++)
{
abs->a[i] = abs->a[i + 1];
abs->size--;
cout << "删除成功" << endl;
system("pause");
system("cls");
}
}
}
void lookperson(detile*abs)
{
cout << “请输入你要查找联系人的姓名” << endl;
if (abs->size == 0)
cout << “目前没有联系人,请添加” << endl;
else
{
string name;
cin >> name;
int j = 0;
for (int i = 0; i < abs->size; i++)
{
if (abs->a[i].name == name)
{
cout << "查找到" << name << endl;
system("pause");
cout << " 姓名" << abs->a[i].name;
cout << " 年龄" << abs->a[i].age;
cout << " 性别1男2女" << abs->a[i].sex;
cout << "联系电话" << abs->a[i].phone;
cout << " 家庭住址" << abs->a[i].addr << endl;
j++;
system("pause");
system("cls");
break;
}
}
if (j == 0)
{
cout << "查无此人" << endl;
system("pause");
}
}
}
void cperson(detile*abs)
{
cout << “请输入你要修改联系人的姓名” << endl;
if (abs->size == 0)
cout << “目前没有联系人,请添加” << endl;
else
{
string name;
cin >> name;
for (int i = 0; i < abs->size; i++)
{
if (abs->a[i].name != name)
{
cout << “没有此人” << name << endl;
system(“pause”);
system(“cls”);
break;
}
if (abs->a[i].name == name)
{
int j = 0;
cout << "查找到" << name<<"请修改" << endl;
system("pause");
cout << " 姓名" << abs->a[i].name;
cout << " 年龄" << abs->a[i].age;
cout << " 性别1男2女" << abs->a[i].sex;
cout << "联系电话" << abs->a[i].phone;
cout << " 家庭住址" << abs->a[i].addr << endl;
cout << "请输入你要修改的内容" << endl;
cout << "######################" << endl;
cout << "1.姓名,2.年龄,3.性别,4.电话,5.家庭住址" << endl;
cin >> j;
switch (j)
{
case 1:
{
cout << "请输入修改姓名" << endl;
cin >> abs->a[i].name;
cout << "姓名修改成功" << endl;
break;
}
case 2:
{
cout << "请输入修改年龄" << endl;
cin >> abs->a[i].age;
cout << "年龄修改成功" << endl;
break;
}
case 3:
{
cout << "请输入修改性别1.男2.女" << endl;
cin >> abs->a[i].sex;
cout << "性别修改成功" << endl;
break;
}
case 4:
{
cout << "请输入修改电话" << endl;
cin >> abs->a[i].phone;
cout << "电话修改成功" << endl;
break;
}
case 5:
{
cout << "请输入修改家庭住址" << endl;
cin >> abs->a[i].addr;
cout << "家庭住址修改成功" << endl;
break;
}
}
}
}
}
system("pause");
system("cls");
}
void clearperson(detile*abs)
{
abs->size = 0;
cout << “清空联系人成功” << endl;
system(“pause”);
system(“cls”);
}
int main()
{
detile abs;
Person a;
int ture = 1;
int select = 0;//用户选择输入;
while (ture)
{
showMenu();
cin >> select;
switch (select)
{
case 1:
addperson(&abs);
break;
case 2:
showperson(&abs);
break;
case 3:
deleperson(&abs);
break;
case 4:
lookperson(&abs);
break;
case 5:
cperson(&abs);
break;
case 6:
clearperson(&abs);
break;
case 0:
cout << "欢迎下次使用" << endl;
system("pause");q
return 0;
break;
}
}
system("pause");
return 0;
}