#include <string>
#include <iostream>
using namespace std;
#define MAX 1000
struct Person {
string m_Name;
int m_Sex;
int m_Age;
string m_Phone;
string m_Addr;
};
struct Addressbooks {
int m_Size = 0;
struct Person personArray[MAX];
};
void showMenu() {
cout << "1,添加联系人" << endl;
cout << "2,显示联系人" << endl;
cout << "3,查找联系人" << endl;
cout << "4,删除联系人" << endl;
cout << "5,修改联系人" << endl;
cout << "6,清空联系人" << endl;
cout << "0,退出通讯录" << endl;
}
void add(Addressbooks * a) {
if (a->m_Size != MAX) {
cout << "请输入联系人信息" << endl;
string name;
int sex;
int age;
string phone;
string addr;
cout << "姓名" << endl;
cin >> a->personArray[a->m_Size].m_Name;
cout << "性别" << endl;
while (1){
cin >> sex;
if (sex == 1 || sex == 2) {
if(sex==1)a->personArray[a->m_Size].m_Sex=sex;
else a->personArray[a->m_Size].m_Sex = sex;
break;
}
}
cout << "年龄" << endl;
cin >> a->personArray[a->m_Size].m_Age;
cout << "手机号码" << endl;
cin >> a->personArray[a->m_Size].m_Phone;
cout << "地址" << endl;
cin >> a->personArray[a->m_Size].m_Addr;
}
else {
cout << "通讯录已满" << endl;
return;
}
a->m_Size++;
cout << "添加成功" << endl;
system("pause");
system("cls");
}
void show(Addressbooks * a) {
if (a->m_Size == 0) cout << "无数据" << endl;
else
for (int i = 0; i < a->m_Size; i++) {
cout << a->personArray[i].m_Name << endl;
if (a->personArray[i].m_Sex == 1)
cout << "男" << endl;
else cout << "女" << endl;
cout<<a->personArray[i].m_Age << endl;
cout << a->personArray[i].m_Phone << endl;
cout<< a->personArray[i].m_Addr << endl;
}
system("pause");
system("cls");
}
void select(Addressbooks * a) {
string name;
cin >> name;
for (int i = 0; i < a->m_Size; i++) {
if (a->personArray[i].m_Name == name) {
cout << "确有此人" << endl;
cout << a->personArray[i].m_Name << endl;
if (a->personArray[i].m_Sex == 1)
cout << "男" << endl;
else cout << "女" << endl;
cout << a->personArray[i].m_Age << endl;
cout << a->personArray[i].m_Phone << endl;
cout << a->personArray[i].m_Addr << endl;
}
else cout << "查无此人!" << endl;
}
system("pause");
system("cls");
}
void delect(Addressbooks * a) {
string name;
cin >> name;
for (int i = 0; i < a->m_Size; i++) {
if (a->personArray[i].m_Name == name) {
a->personArray[i] = a->personArray[i + 1];
cout << "删除成功" << endl;
a->m_Size--;
}
else cout << "查无此人!" << endl;
}
system("pause");
system("cls");
}
void change(Addressbooks * a) {
string name;
cin >> name;
for (int i = 0; i < a->m_Size; i++) {
if (a->personArray[i].m_Name == name) {
if (a->m_Size != MAX) {
cout << "请输入联系人信息" << endl;
string name;
int sex;
int age;
string phone;
string addr;
cout << "姓名" << endl;
cin >> a->personArray[i].m_Name;
cout << "性别" << endl;
while (1) {
cin >> sex;
if (sex == 1 || sex == 2) {
if (sex == 1)a->personArray[i].m_Sex = sex;
else a->personArray[i].m_Sex = sex;
break;
}
}
cout << "年龄" << endl;
cin >> a->personArray[i].m_Age;
cout << "手机号码" << endl;
cin >> a->personArray[i].m_Phone;
cout << "地址" << endl;
cin >> a->personArray[i].m_Addr;
}
else {
cout << "通讯录已满" << endl;
return;
}
a->m_Size++;
cout << "添加成功" << endl;
}
else cout << "查无此人!" << endl;
}
}
void empty(Addressbooks * a) {
for (int i = 0; i < a->m_Size; i++) {
a->m_Size = 0;
cout << "已清空" << endl;
}
}
void quit() {
cout << "谢谢使用" << endl;
}
int main() {
Addressbooks abs;
abs.m_Size = 0;
int selectone = 0;
while (1) {
showMenu();
cin >> selectone;
switch (selectone)
{
case 1:
add(&abs);
break;
case 2:
show(&abs);
break;
case 3:
select(&abs);
break;
case 4:
delect(&abs);
break;
case 5:
change(&abs);
break;
case 6:
empty(&abs);
break;
case 0:
quit();
system("pause");
return 0;
break;
default:
break;
}
}
system("pause");
return 0;
}