使用C++编写一个简单的通讯录系统,主要完成通讯录等信息录 入功能、通讯录信息的浏览功能、查询功能、排序功能以及通讯录条目的删除 与修改等功能。实现姓名 电话 邮箱
时间: 2024-12-04 08:26:16 浏览: 8
在C++中,我们可以创建一个简单的通讯录系统来满足这些需求。这个系统通常会包含以下几个关键部分:
1. **类设计**:
- `Contact` 类:作为基础类,包含姓名(name)、电话(phone)和邮箱(email)属性,以及默认的构造函数和访问者方法。
- `AddressBook` 类:用于存储联系人列表,包含一个动态数组或容器(如`std::vector<Contact>`)来保存联系人,并提供添加、删除、查找和排序的功能。
```cpp
class Contact {
public:
std::string name;
std::string phone;
std::string email;
// 构造函数
Contact(const std::string& name, const std::string& phone, const std::string& email)
: name(name), phone(phone), email(email) {}
};
class AddressBook {
private:
std::vector<Contact> contacts;
public:
void addContact(Contact c); // 添加联系人
void removeContact(int index); // 删除指定索引的联系人
void searchContact(std::string name); // 搜索指定名称的联系人
void sortContacts(); // 对联系人按名字排序
// ...其他访问方法
};
```
2. **方法实现**:
- `addContact`:将新的`Contact`实例添加到联系人列表。
- `removeContact`:通过索引从列表中移除一个联系人。
- `searchContact`:遍历列表寻找匹配指定条件的联系人。
- `sortContacts`:可以使用`std::sort`函数,结合自定义比较函数对联系人列表进行排序。
3. **用户界面**:
- 提供命令行或图形界面,允许用户输入姓名、电话和邮箱创建新联系人,选择操作项(查看、搜索、排序、删除或编辑)并处理用户的输入。
以下是部分核心代码片段:
```cpp
void AddressBook::addContact(Contact c) {
contacts.push_back(c);
}
void AddressBook::removeContact(int index) {
if (index < contacts.size()) {
contacts.erase(contacts.begin() + index);
}
}
void AddressBook::searchContact(std::string name) {
for (auto& contact : contacts) {
if (contact.name == name) {
// 输出或返回找到的联系人
}
}
}
```
阅读全文