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日

相关文章

  • C语言以数据块的形式读写文件实例代码

    下面详细讲解一下“C语言以数据块的形式读写文件实例代码”的攻略。 一、背景知识 在C语言中,读写文件的方式有两种:一种是一字节一字节地读写文件,另外一种是以数据块的形式读写文件。其中,第一种读写方式较为简单,但是效率较低,适用于对小文件进行读写操作;而第二种读写方式虽然稍微有点复杂,但是效率很高,适用于对大文件进行读写操作。 二、以数据块的形式读写文件的步骤…

    C 2023年5月24日
    00
  • Django之提交表单与前后端交互的方法

    当我们在开发一个基于Django的Web应用时,提交表单和前后端交互是非常关键的环节,下面是提交表单与前后端交互的方法的完整攻略。 设置表单 创建一个表单类,该类必须继承自Django的forms.Form或modelforms.ModelForm,并声明表单所需要的字段。 示例代码: from django import forms class Conta…

    C 2023年5月23日
    00
  • 2015新MacBook配件及主机购买详细攻略

    2015新MacBook配件及主机购买详细攻略 介绍 本攻略旨在向广大MacBook用户详细介绍2015年新款MacBook的配件购买及主机购买的注意事项,帮助大家更好地了解和选购自己需要的产品。 配件购买攻略 1. 手机壳 新款MacBook的外壳较易划伤,建议购买一款手机壳来保护外壳。 根据使用情况和个人喜好,推荐以下两款手机壳: Moshi iGlaz…

    C 2023年5月23日
    00
  • 实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)

    下面是详细讲解“实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)”的完整攻略: 1. 什么是Json反序列化? Json反序列化是将Json数据类型转换成Java对象的过程。在Java中,我们通常使用Jackson库来实现Json数据的反序列化。Jackson库中的ObjectMapper类提供了非常强大的反序列化功能,它可以将J…

    C 2023年5月23日
    00
  • C语言中回调函数的使用详情

    回调函数是一种应用程序设计模式,通常在C语言中使用,用于将一个函数传递给另一个函数,以便后者在特定条件下调用前者。回调函数可以极大地提高程序的可扩展性和复用性。在这里,我们将详细讨论回调函数的使用方法,简单介绍一下回调函数的概念和用途,最后提供两个示例说明。 回调函数的概念和用途 回调函数是指在作为参数传递给另一个函数的函数。简单来说,回调函数是由另一个函数…

    C 2023年5月23日
    00
  • C 程序 八进制转换为十进制

    让我详细讲解一下如何使用C语言编写程序来将八进制转换为十进制。 1. 程序说明 首先,需要说明一下本程序的功能和使用方法。本程序是用来将八进制数转换为十进制数的,它通过输入一个八进制数,输出对应的十进制数。程序包含一个函数,该函数可以接受输入的八进制数,在内部进行转换,并将得到的十进制数返回。 2. 算法原理 本程序的转换算法非常简单,只需要将每一位八进制数…

    C 2023年5月9日
    00
  • java程序设计语言的优势及特点

    Java程序设计语言的优势及特点 Java是一种业界广泛使用的高级编程语言,具有许多优点和特点,如下所示: 1.可移植性强 Java程序可以在不同的平台和操作系统中运行,这是因为Java虚拟机(JVM)能够将Java程序的字节码解释成线程可执行代码。因此,Java程序只需要编译一次就可以在不同的平台和操作系统中运行,这大大降低了开发成本和维护成本,提高了开发…

    C 2023年5月22日
    00
  • springboot 错误处理小结

    接下来我将对“springboot 错误处理小结”的完整攻略进行详细讲解。 1. 前言 Spring Boot 是一个快速开发框架,但是在开发中难免会出现错误,如果没有合适的错误处理策略,会给用户体验和代码维护带来很大的问题。因此,掌握 Spring Boot 的错误处理是非常必要的。本文将介绍 Spring Boot 错误处理的常用方式以及如何在 Spri…

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