#include #include #include // 定义联系人结构体 class Contact { public: int id; std::string name; std::string phone; }; // 定义联系人管理类 class ContactManager { private: std::vector contacts; // 存储联系人的向量 public: // 添加联系人 void addContact() { Contact newContact; std::cout << "请输入联系人姓名: "; std::cin >> newContact.name; std::cout << "请输入联系人电话: "; std::cin >> newContact.phone; newContact.id = contacts.size() + 1; contacts.push_back(newContact); } // 更新联系人 void updateContact() { int id; std::cout << "请输入要更新的联系人ID: "; std::cin >> id; for (auto& contact : contacts) { if (contact.id == id) { std::cout << "找到联系人,请输入新的姓名: "; std::cin >> contact.name; std::cout << "请输入新的电话: "; std::cin >> contact.phone; std::cout << "联系人已更新。" << std::endl; return; } } std::cout << "未找到联系人。" << std::endl; } // 显示通讯录 void displayContacts() const { std::cout << "通讯录如下:" << std::endl; for (const auto& contact : contacts) { std::cout << "ID: " << contact.id << ", 姓名: " << contact.name << ", 电话: " << contact.phone << std::endl; } } // 查找联系人 void findContact() const { int id; std::cout << "请输入要查找的联系人ID: "; std::cin >> id; for (const auto& contact : contacts) { if (contact.id == id) { std::cout << "找到联系人:ID: " << contact.id << ", 姓名: " << contact.name << ", 电话: " << contact.phone << std::endl; return; } } std::cout << "未找到联系人。" << std::endl; } // 删除联系人 void deleteContact() { int id; std::cout << "请输入要删除的联系人ID: "; std::cin >> id; for (auto it = contacts.begin(); it != contacts.end(); ++it) { if (it->id == id) { contacts.erase(it); std::cout << "已删除联系人。" << std::endl; return; } } std::cout << "未找到联系人。" << std::endl; } // 清空通讯录 void clearContacts() { contacts.clear(); std::cout << "已清空通讯录。" << std::endl; } }; int main() { ContactManager manager; // 创建联系人管理对象 int choice; while (true) { std::cout << "1. 添加联系人" << std::endl; std::cout << "2. 更新联系人" << std::endl; std::cout << "3. 显示通讯录" << std::endl; std::cout << "4. 查找联系人" << std::endl; std::cout << "5. 删除联系人" << std::endl; std::cout << "6. 清空通讯录" << std::endl; std::cout << "0. 退出程序" << std::endl; std::cout << "请输入您的选择: "; std::cin >> choice; switch (choice) { case 1: manager.addContact(); // 调用添加联系人方法 break; case 2: manager.updateContact(); // 调用更新联系人方法 break; case 3: manager.displayContacts(); // 调用显示通讯录方法 break; case 4: manager.findContact(); // 调用查找联系人方法 break; case 5: manager.deleteContact(); // 调用删除联系人方法 break; case 6: manager.clearContacts(); // 调用清空通讯录方法 break; case 0: return 0; // 退出程序 default: std::cout << "无效的选择,请重新输入。" << std::endl; } } return 0; }