代码

#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;
}