#include<iostream> using namespace std; constexpr auto MAX = 1000; //联系人结构体 struct Person { string m_name; int m_sex; m_age; m_phone; m_address; }; 通讯录结构体 AddressBooks { 联系人数组 Person personArray[MAX]; 记录联系人个数 m_size; }; 添加人员 void addPerson(AddressBooks* abs) { 判断通讯录是否已满,已满就不再添加 if (abs->m_size == MAX) { cout << "通讯录已满" << endl; } else{ name; sex; age; phone; address; cout << 请输入姓名:"; cin >>while (true) { cout << 请输入性别(0代表男,1代表女):; cin >> sex; if (sex == 0 || sex == 1) { break; }{ cout << 您输入有误,请重新输入! endl; } } cout << 请输入年龄: age; cout << 请输入电话: phone; cout << 请输入地址: address; abs->personArray[abs->m_size].m_name = name; abs->personArray[abs->m_size].m_sex = sex; abs->personArray[abs->m_size].m_age = age; abs->personArray[abs->m_size].m_phone = phone; abs->personArray[abs->m_size].m_address = address; abs->m_size++; cout << 添加成功! endl; 请按任意键继续 system(pause); 清屏 system(cls); } } 显示联系人 void showPerson(AddressBooks*if (abs->m_size == 0) { cout << 当前记录为空 endl; } { for (int i = 0; i < abs->m_size; i++姓名:" << abs->personArray[i].m_name << \t" << 性别:" << (abs->personArray[i].m_sex == 0 ? 男" : 女") << 年龄:" << abs->personArray[i].m_age << 电话:" << abs->personArray[i].m_phone << 地址:" << abs->personArray[i].m_address << endl; } } system(); system(); } 判断联系人是否存在,若存在,则返回所在下标,否则返回-1 int isExist(AddressBooks* abs, name) { ) { if (abs->personArray[i].m_name == name) { return i; } } return -; } 真正的删除操作 void del(AddressBooks* abs,1)"> id) { int i = id; i < abs->m_size; i++) { abs->personArray[i] = abs->personArray[i + ]; } abs->m_size--查找并删除 void deletePerson(AddressBooks* name; cout << 请输入要删除的名字:; cin >> name; tmp; tmp = isExist(abs,name); if (tmp != -){ del(abs,tmp); cout << 删除成功"<<endl; }{ cout << 查无此人endl; } system(); } 菜单界面 void showMenu() { cout << ************************ endl; cout << ***** 1.添加联系人 ********** 2.显示联系人 ********** 3.删除联系人 ********** 4.修改联系人 ********** 5.查找联系人 ********** 6.清空联系人 ********** 0.退出通讯录 ***** endl; } main() { 创建通讯录结构体变量 AddressBooks abs; abs.m_size = ; int select = while(){ showMenu(); cout << 请输入相应的选项: endl; cin >> select; switch (){ case 1:添加 addPerson(&abs); 2:显示 showPerson(&3:删除 deletePerson(&4:修改 5:查找 6:清空 0:退出 cout << 欢迎下次使用 endl; system(); return ; ; } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。