#include<iostream> #include<string> using namespace std; #define MAX 1000 void showMenu() { cout << "***********************" << endl; cout << "*****一、添加联系人*****" << endl; cout << "*****二、显示联系人*****" << endl; cout << "*****三、删除联系人*****" << endl; cout << "*****四、查找联系人*****" << endl; cout << "*****五、修改联系人*****" << endl; cout << "*****六、清空联系人*****" << endl; cout << "*****0、退出通信录*****" << endl; cout << "***********************" << endl; } struct person { string name; int m_sex; int m_age; string m_phone; string address; }; struct contact { person per[MAX]; int max_size; }; //添加联系人 void addperson(contact *con) { if (con->max_size > 100) { cout << "联系人已满,不能添加" << endl; } else { //请输入姓名; string name; cout << "请输入姓名:" << endl; cin >> name; con->per[con->max_size].name = name; //请输入性别; while (true) { int sex; cout << "1----男" << endl; cout << "2----女" << endl; cin >> sex; if (sex == 1 || sex == 2) { con->per[con->max_size].m_sex = sex; break; } else { cout << "输入有误,请从新输入" << endl; } } //请输入年龄; int age; cout << "请输入年龄:" << endl; cin >> age; con->per[con->max_size].m_age = age; //请输入电话; string tel; cout << "请输入电话:"; cin >> tel; con->per[con->max_size].m_phone = tel; //请输入地址; string add; cout << "请输入地址:"; cin >> add; con->per[con->max_size].address = add; con->max_size++; cout << "添加成功" << endl; system("pause"); system("cls"); } } //显示联系人 void showperson(contact*con) { if (con->max_size == 0) { cout << "联系人为空" << endl; } else { for (int i = 0; i < con->max_size; i++) { cout << "姓名:" << con->per[i].name << '\t'; cout << "性别:" << con->per[i].m_sex << '\t'; cout << "年龄:" << con->per[i].m_age << '\t'; cout << "电话:" << con->per[i].m_phone << '\t'; cout << "地址:" << con->per[i].address << endl; } system("pause"); system("cls"); } } //查找联系人 int isExit(contact* con, string name) { for (int i = 0; i < con->max_size; i++) { if (con->per[i].name == name) { return i; } } return -1; } void del(contact* con) { cout << "请输入要删除的人:" << endl; string name; cin >> name; if (isExit(con, name) != -1) { int ret = isExit(con, name); for (int i = ret; i < con->max_size; i++) { con->per[i] = con->per[i + 1]; } con->max_size--; cout << "删除成功" << endl; } else { cout << "查无此人" << endl; } system("pause"); system("cls"); } void findPerson(contact*con) { cout << "请输入要查找的人:" << endl; string name; cin >> name; if (isExit(con, name) != -1) { int ret = isExit(con, name); cout << "姓名:" << con->per[ret].name << "\t电话" << con->per[ret].m_phone << endl; } else { cout << "查无此人" << endl; } system("pause"); system("cls"); } int main() { int select = 0; contact con; con.max_size = 0; while (true) { showMenu(); cin >> select; switch (select) { case 1://添加联系人 addperson(&con); break; case 2://显示联系人 showperson(&con); break; case 3://删除联系人 del(&con); break; case 4://查找联系人 findPerson(&con); break; case 5://修改 break; case 6://清空 break; case 0: cout << "欢迎下次使用" << endl; system("pause"); return 0; break; default: break; } } showMenu(); system("pause"); return 0; }