用c++语言编写一本通信录 1、添加联系人、显示联系人、删除联系人、查找联系人、修改联系人、清空联系人。 2、通讯录备份与恢复。(可以用文件) 3、分组功能
时间: 2024-06-16 20:06:47 浏览: 28
用C++语言编写一本通信录可以按照以下步骤进行:
1. 创建一个联系人类(Contact)来表示每个联系人的信息,包括姓名、电话号码等属性。
2. 创建一个通信录类(AddressBook),其中包含一个联系人数组或链表来存储所有联系人的信息。
3. 实现以下功能:
- 添加联系人:在通信录中添加一个新的联系人对象。
- 显示联系人:遍历通信录中的联系人列表,并逐个打印出每个联系人的信息。
- 删除联系人:根据输入的姓名或电话号码,在通信录中查找并删除对应的联系人对象。
- 查找联系人:根据输入的姓名或电话号码,在通信录中查找并打印对应的联系人信息。
- 修改联系人:根据输入的姓名或电话号码,在通信录中查找并修改对应的联系人信息。
- 清空联系人:清空通信录中所有联系人的信息。
4. 实现通讯录备份与恢复功能:
- 备份通信录:将通信录中的联系人信息保存到文件中,可以使用文件流(fstream)来实现。
- 恢复通信录:从文件中读取联系人信息,并将其添加到通信录中。
5. 实现分组功能:
- 可以为每个联系人添加一个分组属性,用于分类管理联系人。
- 可以实现按照分组进行联系人的查找、显示等操作。
相关问题
编写程序,实现具备添加,查看,删除,修改和查找联系人的信息功能的手机通讯录
好的,这是一个关于编程的问题,我可以为您提供一些指导。首先,您需要选择一种编程语言,例如Python、Java、C++等。然后,您可以使用该语言的数据库API(如SQLAlchemy)来创建一个联系人信息数据库,在其中包含添加、查看、删除、修改和查找联系人信息的功能。您可以使用该语言的GUI库(如Tkinter、Qt等)来创建一个带有用户界面的应用程序,使其更加用户友好。通过轻松的拖放和点选等操作,您可以很容易地实现这些功能。希望这可以帮助您编写出您的手机通讯录程序。
用c++写类的通讯录管理系统包含添加联系人、显示联系人、删除联系人、查找联系人、修改联系人、清空联系人、退出通讯录功能
好的,我可以帮你设计一个基于C++的通讯录管理系统。首先,我们需要定义一个 Contact 类来表示每个联系人的信息,如姓名、电话号码、地址等。然后我们可以定义一个 ContactBook 类来管理所有联系人。
以下是一个可能的实现方式:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 定义联系人类
class Contact {
public:
Contact(string name, string phone, string address)
: name_(name), phone_(phone), address_(address) {}
string name() const { return name_; }
string phone() const { return phone_; }
string address() const { return address_; }
void set_name(string name) { name_ = name; }
void set_phone(string phone) { phone_ = phone; }
void set_address(string address) { address_ = address; }
private:
string name_;
string phone_;
string address_;
};
// 定义通讯录类
class ContactBook {
public:
// 添加联系人
void add_contact(const Contact& contact) {
contacts_.push_back(contact);
}
// 显示所有联系人
void show_contacts() const {
for (const auto& contact : contacts_) {
cout << "姓名:" << contact.name() << ",电话:" << contact.phone() << ",地址:" << contact.address() << endl;
}
}
// 删除联系人
void remove_contact(const string& name) {
for (auto it = contacts_.begin(); it != contacts_.end(); ++it) {
if (it->name() == name) {
contacts_.erase(it);
break;
}
}
}
// 查找联系人
void find_contact(const string& name) const {
for (const auto& contact : contacts_) {
if (contact.name() == name) {
cout << "姓名:" << contact.name() << ",电话:" << contact.phone() << ",地址:" << contact.address() << endl;
return;
}
}
cout << "未找到联系人:" << name << endl;
}
// 修改联系人
void modify_contact(const string& name, const Contact& new_contact) {
for (auto& contact : contacts_) {
if (contact.name() == name) {
contact = new_contact;
return;
}
}
cout << "未找到联系人:" << name << endl;
}
// 清空联系人
void clear_contacts() {
contacts_.clear();
}
private:
vector<Contact> contacts_;
};
int main() {
ContactBook book;
while (true) {
// 显示菜单
cout << "请选择操作:" << endl;
cout << "1. 添加联系人" << endl;
cout << "2. 显示所有联系人" << endl;
cout << "3. 删除联系人" << endl;
cout << "4. 查找联系人" << endl;
cout << "5. 修改联系人" << endl;
cout << "6. 清空联系人" << endl;
cout << "7. 退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1: {
string name, phone, address;
cout << "请输入姓名:";
cin >> name;
cout << "请输入电话:";
cin >> phone;
cout << "请输入地址:";
cin >> address;
book.add_contact(Contact(name, phone, address));
cout << "添加成功!" << endl;
break;
}
case 2:
book.show_contacts();
break;
case 3: {
string name;
cout << "请输入要删除的联系人姓名:";
cin >> name;
book.remove_contact(name);
break;
}
case 4: {
string name;
cout << "请输入要查找的联系人姓名:";
cin >> name;
book.find_contact(name);
break;
}
case 5: {
string name;
cout << "请输入要修改的联系人姓名:";
cin >> name;
string phone, address;
cout << "请输入新的电话:";
cin >> phone;
cout << "请输入新的地址:";
cin >> address;
book.modify_contact(name, Contact(name, phone, address));
break;
}
case 6:
book.clear_contacts();
cout << "清空成功!" << endl;
break;
case 7:
cout << "退出程序!" << endl;
return 0;
default:
cout << "无效的选择,请重新输入!" << endl;
break;
}
}
return 0;
}
```
以上代码可能并不是最优解,但能够满足你的需求。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)