温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用C++实现通讯录管理系统

发布时间:2022-06-13 15:52:26 阅读:117 作者:iii 栏目:开发技术
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

怎么用C++实现通讯录管理系统

通讯录管理系统是一个常见的应用程序,用于存储和管理联系人信息。本文将介绍如何使用C++实现一个简单的通讯录管理系统。我们将涵盖基本的功能,如添加联系人、删除联系人、查找联系人以及显示所有联系人。

1. 项目结构

首先,我们需要定义通讯录管理系统的结构。我们将使用C++的类和对象来实现这个系统。以下是我们将实现的主要功能:

  • 添加联系人
  • 删除联系人
  • 查找联系人
  • 显示所有联系人

2. 定义联系人结构

我们将使用一个结构体来表示联系人信息。每个联系人将包含姓名、电话号码和电子邮件地址。

struct Contact {
    std::string name;
    std::string phone;
    std::string email;
};

3. 定义通讯录类

接下来,我们定义一个AddressBook类来管理联系人。这个类将包含一个std::vector来存储联系人,并提供添加、删除、查找和显示联系人的方法。

#include <iostream>
#include <vector>
#include <string>

class AddressBook {
private:
    std::vector<Contact> contacts;

public:
    void addContact(const std::string& name, const std::string& phone, const std::string& email) {
        Contact newContact = {name, phone, email};
        contacts.push_back(newContact);
        std::cout << "Contact added successfully!\n";
    }

    void deleteContact(const std::string& name) {
        for (auto it = contacts.begin(); it != contacts.end(); ++it) {
            if (it->name == name) {
                contacts.erase(it);
                std::cout << "Contact deleted successfully!\n";
                return;
            }
        }
        std::cout << "Contact not found!\n";
    }

    void findContact(const std::string& name) {
        for (const auto& contact : contacts) {
            if (contact.name == name) {
                std::cout << "Name: " << contact.name << "\n";
                std::cout << "Phone: " << contact.phone << "\n";
                std::cout << "Email: " << contact.email << "\n";
                return;
            }
        }
        std::cout << "Contact not found!\n";
    }

    void displayAllContacts() {
        if (contacts.empty()) {
            std::cout << "No contacts found!\n";
            return;
        }
        for (const auto& contact : contacts) {
            std::cout << "Name: " << contact.name << "\n";
            std::cout << "Phone: " << contact.phone << "\n";
            std::cout << "Email: " << contact.email << "\n";
            std::cout << "-----------------\n";
        }
    }
};

4. 主函数

在主函数中,我们将创建一个AddressBook对象,并提供用户界面来与通讯录管理系统进行交互。

int main() {
    AddressBook addressBook;
    int choice;
    std::string name, phone, email;

    while (true) {
        std::cout << "\nAddress Book Management System\n";
        std::cout << "1. Add Contact\n";
        std::cout << "2. Delete Contact\n";
        std::cout << "3. Find Contact\n";
        std::cout << "4. Display All Contacts\n";
        std::cout << "5. Exit\n";
        std::cout << "Enter your choice: ";
        std::cin >> choice;

        switch (choice) {
            case 1:
                std::cout << "Enter name: ";
                std::cin >> name;
                std::cout << "Enter phone: ";
                std::cin >> phone;
                std::cout << "Enter email: ";
                std::cin >> email;
                addressBook.addContact(name, phone, email);
                break;
            case 2:
                std::cout << "Enter name to delete: ";
                std::cin >> name;
                addressBook.deleteContact(name);
                break;
            case 3:
                std::cout << "Enter name to find: ";
                std::cin >> name;
                addressBook.findContact(name);
                break;
            case 4:
                addressBook.displayAllContacts();
                break;
            case 5:
                std::cout << "Exiting...\n";
                return 0;
            default:
                std::cout << "Invalid choice! Please try again.\n";
        }
    }

    return 0;
}

5. 运行程序

编译并运行上述代码后,你将看到一个简单的命令行界面,允许你添加、删除、查找和显示联系人。你可以根据需要扩展这个系统,例如添加更多的联系人信息字段或实现更复杂的搜索功能。

6. 总结

通过本文,我们学习了如何使用C++实现一个简单的通讯录管理系统。我们使用了结构体来表示联系人信息,并使用类来管理这些联系人。通过这个项目,你可以进一步学习C++的面向对象编程和标准模板库(STL)的使用。希望这个项目对你有所帮助!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI

开发者交流群×