C++ 实现的通讯录管理系统详解

C++ 实现的通讯录管理系统详解

介绍

本文将详细介绍 C++ 实现的通讯录管理系统,该系统采用面向对象的方式实现,能够帮助用户管理通讯录信息。

本系统的主要功能包括:添加联系人、显示联系人、删除联系人、查找联系人、修改联系人以及清空联系人等。下面将分别对每个功能进行介绍。

添加联系人

添加联系人是通讯录管理系统最基本的功能之一。在系统中,我们可以通过以下代码实现添加联系人的功能:

void AddressBook::addPerson()
{
    string name;
    string phoneNum;
    string age_str;
    int age;

    cout << "请输入联系人姓名: ";
    cin >> name;
    cout << "请输入联系人电话: ";
    cin >> phoneNum;
    cout << "请输入联系人年龄: ";
    cin >> age_str;

    age = stoi(age_str);

    PersonInfo person(name, phoneNum, age);
    vPerson.push_back(person);

    cout << "联系人添加成功!" << endl;
}

在上面的代码中,我们首先通过 std::cout 输出了提示信息,然后通过 std::cin 获取用户输入的联系人信息,最后将该联系人信息加入通讯录管理系统。

显示联系人

显示联系人也是通讯录管理系统中常用的功能,用户可以通过该功能查看当前通讯录中保存的所有联系人信息。我们可以通过以下代码实现该功能:

void AddressBook::showPerson()
{
    for (vector<PersonInfo>::iterator it = vPerson.begin(); it != vPerson.end(); ++it) {
        cout << "姓名:" << it->name << "    ";
        cout << "电话:" << it->phoneNum << "    ";
        cout << "年龄:" << it->age << endl;
    }
}

在上面的代码中,我们使用了迭代器遍历了通讯录管理系统中保存的所有联系人信息,并通过 std::cout 输出了联系人的姓名、电话以及年龄等信息。

删除联系人

在通讯录管理系统中,用户可以删除已经不需要的联系人信息。我们可以通过以下代码实现删除联系人的功能:

void AddressBook::deletePerson()
{
    string name;

    cout << "请输入要删除的联系人姓名: ";
    cin >> name;

    for (vector<PersonInfo>::iterator it = vPerson.begin(); it != vPerson.end(); ++it) {
        if (it->name == name) {
            vPerson.erase(it);
            cout << "联系人删除成功!" << endl;
            return;
        }
    }

    cout << "未找到联系人!" << endl;
}

在上面的代码中,我们首先通过 std::cin 获取用户输入的联系人姓名,然后通过迭代器遍历通讯录管理系统中保存的所有联系人信息,最后删除用户指定的联系人信息。

查找联系人

用户可以通过查找联系人功能快速找到指定的联系人信息。我们可以通过以下代码实现该功能:

void AddressBook::findPerson()
{
    string name;

    cout << "请输入要查找的联系人姓名: ";
    cin >> name;

    for (vector<PersonInfo>::iterator it = vPerson.begin(); it != vPerson.end(); ++it) {
        if (it->name == name) {
            cout << "姓名:" << it->name << "    ";
            cout << "电话:" << it->phoneNum << "    ";
            cout << "年龄:" << it->age << endl;
            return;
        }
    }

    cout << "未找到联系人!" << endl;
}

在上面的代码中,我们首先通过 std::cin 获取用户输入的联系人姓名,然后通过迭代器遍历通讯录管理系统中保存的所有联系人信息,最后输出用户指定的联系人信息。

修改联系人

用户可以通过修改联系人功能修改指定联系人的信息。我们可以通过以下代码实现该功能:

void AddressBook::editPerson()
{
    string name;
    string phoneNum;
    string age_str;
    int age;

    cout << "请输入要修改的联系人姓名: ";
    cin >> name;

    for (vector<PersonInfo>::iterator it = vPerson.begin(); it != vPerson.end(); ++it) {
        if (it->name == name) {
            cout << "请输入联系人电话: ";
            cin >> phoneNum;
            cout << "请输入联系人年龄: ";
            cin >> age_str;

            age = stoi(age_str);

            it->phoneNum = phoneNum;
            it->age = age;

            cout << "联系人信息修改成功!" << endl;
            return;
        }
    }

    cout << "未找到联系人!" << endl;
}

在上面的代码中,我们首先通过 std::cin 获取用户输入的联系人姓名,然后通过迭代器遍历通讯录管理系统中保存的所有联系人信息,最后修改用户指定的联系人信息。

清空联系人

用户可以通过清空联系人功能清空整个通讯录管理系统中保存的所有联系人信息。我们可以通过以下代码实现该功能:

void AddressBook::clearPerson()
{
    vPerson.clear();
    cout << "通讯录清空成功!" << endl;
}

在上面的代码中,我们使用了 std::vector::clear() 函数删除了保存在通讯录管理系统中的所有联系人信息,并输出了提示信息。

总结

通过上面的详细介绍,相信大家已经掌握了 C++ 实现的通讯录管理系统的基本实现和操作方法。该系统简单易用,能够帮助用户高效管理通讯录信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ 实现的通讯录管理系统详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • notepad介绍及插件cmake编译过程(替代notepad++)

    Notepad介绍 Notepad是一款Windows平台下的简洁文本编辑器,其主要功能包括查看、编辑纯文本文档,具有简单、易上手、快速启动等特点,在Windows操作系统服务管理、配置文件编辑、读写脚本等工作中得到了广泛的应用。 插件CMake编译过程 Notepad++是Notepad的增强版,其功能更为强大,支持丰富的插件,其中之一就是CMake,它能…

    C 2023年5月23日
    00
  • 深入解析Python编程中JSON模块的使用

    深入解析Python编程中JSON模块的使用 什么是JSON JSON全称为JavaScript Object Notation,是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和生成。JSON数据格式能够表示数值、字符串、布尔值、对象、数组等类型的数据。它由键值对组成,常用于Web应用程序中的数据传输。 为什么要使用JSON 由于Web应用程序越…

    C 2023年5月23日
    00
  • Clion下vcpkg的使用详解

    Clion是一个流行的C++开发环境,而vcpkg是一个C++库管理器,旨在简化依赖项安装和管理。本文将简要介绍Clion中如何使用vcpkg。 安装vcpkg 首先,需要下载并安装vcpkg,可以从https://github.com/microsoft/vcpkg上下载最新版本的vcpkg。 接下来,我们需要将vcpkg添加到系统路径中,然后打开命令行工…

    C 2023年5月23日
    00
  • 如何用C语言添加矩阵

    添加矩阵是C语言中常见的任务之一。以下是一些基本的步骤: 1. 定义矩阵 在C语言中,可以使用二维数组来定义矩阵。例如,以下代码定义了一个3×3的矩阵: int matrix[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; 2. 显示矩阵 可以使用循环来遍历矩阵中的所有元素,并将它们打印出来。例如,以下代码使用嵌套循环来遍历矩阵…

    C 2023年5月9日
    00
  • win7系统开机屏幕显示0xcoooo428错误怎么办 解决方法介绍

    win7系统开机屏幕显示0xcoooo428错误怎么办 当你开机启动 Win7 时,出现 0xcoooo428 错误提示,显示计算机系统有异常,无法正常启动。那么该如何解决这个问题呢? 问题原因 0xcoooo428 错误常见于电脑开机时,操作系统加载失败。这通常与硬件设备驱动程序损坏或异常、系统文件缺失或损坏等有关。在确定问题原因后,我们可以采用以下方法来…

    C 2023年5月23日
    00
  • 解决易语言转换到C++ 自定义数据类型

    解决易语言转换到C++ 自定义数据类型 背景 易语言是一种高级编程语言,用户可以使用易语言编程进行二次开发。但是,在某些情况下,用户可能需要将易语言代码转换成C++代码以便更好地运行和使用。 在将易语言代码转换成C++代码时,对于易语言中的自定义数据类型的处理需要格外注意和谨慎。因为C++中的自定义数据类型对应于易语言中的自定义类型,并且两者的内部结构和使用…

    C 2023年5月23日
    00
  • c#学习教程之JSON文件及解析实例

    那么让我们来详细讲解一下“c#学习教程之JSON文件及解析实例”的完整攻略吧。这个教程主要分为以下几个部分: 1. 什么是JSON? 我们先来回答一个非常基础的问题,什么是JSON?JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式。它是一种文本格式,易于理解和生成,同时也易于解析和使用。它是基于JavaScri…

    C 2023年5月23日
    00
  • 基于Qt实现简易GIF播放器的示例代码

    本次教程将带领大家实现一款简易的GIF播放器,并分享完整示例代码。该播放器基于Qt框架,具有播放、暂停、重播、选择文件等功能。下面是实现该项目的完整攻略。 1. 工程创建 在Qt Creator中创建一个新的Qt Widgets应用程序工程,选择Minimum Qt Version为5.11。 2. 界面设计 使用Qt Designer设计播放器的UI界面。…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部