c++写一个通讯录系统
时间: 2024-12-22 16:31:37 浏览: 23
在C++中编写一个通讯录系统,你可以创建一个简单的命令行界面或者图形用户界面,主要包括以下几个部分:
1. **数据结构**:
- 使用`std::map`或`std::unordered_map`存储联系人信息,键通常是姓名,值包含电话号码、邮箱等信息。
```cpp
struct Contact {
std::string name;
std::string phone_number;
std::string email;
};
using Contacts = std::unordered_map<std::string, Contact>;
```
2. **函数和类**:
- 创建一个`ContactManager`类,管理联系人的添加、删除、查找等操作。
- 定义一些基本操作,如添加(`addContact`)、删除(`removeContact`)、显示所有联系人(`listContacts`)、搜索特定联系人(`findContact`)等。
```cpp
class ContactManager {
public:
void addContact(const std::string& name, const std::string& phone, const std::string& email);
void removeContact(const std::string& name);
void listContacts();
Contact findContact(const std::string& name) const;
private:
Contacts contacts;
};
void ContactManager::addContact(const std::string& name, const std::string& phone, const std::string& email) {
// 实现添加操作...
}
// 其他函数的实现类似
```
3. **主程序循环**:
- 提供用户交互界面,接收用户的输入,然后调用对应的`ContactManager`方法处理。
```cpp
int main() {
ContactManager manager;
while (true) {
std::cout << "请输入操作(add, remove, list, search, quit): ";
std::string input;
std::getline(std::cin, input);
if (input == "quit") break;
// 根据输入执行相应操作
// 示例:
if (input == "add") {
// 获取并验证用户输入
std::string name, phone, email;
// ...
manager.addContact(name, phone, email);
} else {
// 其他操作的逻辑...
}
}
return 0;
}
```
阅读全文