通讯录是一个可以记录亲人、好友信息的工具。
需要实现的功能如下:
•添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系方式、住址)最多记录1000人
•显示联系人:显示通讯录中所有联系人信息
•删除联系人:按照姓名进行删除指定联系人
•查找联系人:按照姓名查看指定联系人信息
•修改联系人:按照姓名重新修改指定联系人
•清空联系人:清空通讯录中所有信息
•退出通讯录:退出当前使用的通讯录
系统:MAC OS
#includeusing namespace std; #define MAX 1000 //最大人数 struct Person { string name; //姓名 string sex; //性别 int age; //年龄 string phone; //电话号码 string address; //住址 }; struct addressbook { Person personarray[MAX]; //通讯录中保存的联系人数组 int size; //通讯录中人员个数 }; void showMenu(); void addPerson(addressbook *abs); void showPerson(const addressbook *abs); void deletePerson(addressbook *abs); void findPerson(addressbook *abs); void modifyPerson(addressbook *abs); void cleanPerson(addressbook *abs); int main() { int select; addressbook abs; abs.size = 0; while (true) { showMenu(); //菜单调用 cin >> select; switch (select) { case 0: //退出通讯录 cout << "欢迎下次使用" << endl; return 0; case 1: //添加联系人 addPerson(&abs); break; case 2: //显示联系人 showPerson(&abs); break; case 3: //删除联系人 deletePerson(&abs); break; case 4: //查找联系人 findPerson(&abs); break; case 5: //修改联系人 modifyPerson(&abs); break; case 6: //清空联系人 cleanPerson(&abs); break; default: cout << "输入错误,请重新输入" << endl; } cout << "请按任意键并回车继续" << endl; cin >> select; system("clear"); } return 0; } void showMenu() { cout << "1、添加联系人" << endl << "2、显示联系人" << endl << "3、删除联系人" << endl << "4、查找联系人" << endl << "5、修改联系人" << endl << "6、清空联系人" << endl << "0、退出通讯录" << endl; } void addPerson(addressbook *abs) { if (abs->size == MAX) //判断通讯录人数是否已满 { cout << "通讯录人数已满" << endl; } else { cout << "请依次输入姓名,性别,年龄,联系方式,住址" << endl; cin >> abs->personarray[abs->size].name >> abs->personarray[abs->size].sex >> abs->personarray[abs->size].age >> abs->personarray[abs->size].phone >> abs->personarray[abs->size].address; abs->size++; cout << "联系人添加成功" << endl; } } void showPerson(const addressbook *abs) { if (abs->size) { for (int i = 0; i < abs->size; i++) { cout << "姓名:" << abs->personarray[i].name << "t性别:" << abs->personarray[i].sex << "t年龄:" << abs->personarray[i].age << "t电话号码:" << abs->personarray[i].phone << "t住址:" << abs->personarray[i].address << endl; } } else { cout << "通讯录为空" << endl; } } void deletePerson(addressbook *abs) { int n = -1; string name; cout << "请输入要删除联系人的姓名" << endl; cin >> name; for (int i = 0; i < abs->size; i++) //查找删除的联系人 { if (abs->personarray[i].name == name) { n = i; break; } } if (n != -1) { abs->personarray[n] = abs->personarray[abs->size - 1]; //替换将删除的联系人 abs->size--;//通讯录人数-1 cout << "删除成功" << endl; } else { cout << "查无此人" << endl; } } void findPerson(addressbook *abs) { string name; cout << "请输入您要查找联系人的姓名" << endl; cin >> name; for (int i = 0; i < abs->size; i++)//查找输入的联系人 { if (name == abs->personarray[i].name) { cout << "姓名:" << abs->personarray[i].name << "t性别:" << abs->personarray[i].sex << "t年龄:" << abs->personarray[i].age << "t电话号码:" << abs->personarray[i].phone << "t住址:" << abs->personarray[i].address << endl; return; } } cout << "查无此人" << endl; } void modifyPerson(addressbook *abs) { string name; cout << "请输入您要修改联系人的姓名" << endl; cin >> name; for (int i = 0; i < abs->size; i++)//查找输入的联系人 { if (name == abs->personarray[i].name) { cout << "请依次输入修改后的姓名,性别,年龄,联系方式,住址" << endl; cin >> abs->personarray[i].name >> abs->personarray[i].sex >> abs->personarray[i].age >> abs->personarray[i].phone >> abs->personarray[i].address; cout << "修改成功" << endl; return; } } cout << "查无此人" << endl; } void cleanPerson(addressbook *abs) { abs->size = 0; cout << "通讯录已清空" << endl; }



