iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++如何实现简易通讯录管理系统
  • 702
分享到

C++如何实现简易通讯录管理系统

2023-07-02 11:07:37 702人浏览 薄情痞子
摘要

这篇文章主要介绍“c++如何实现简易通讯录管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++如何实现简易通讯录管理系统”文章能帮助大家解决问题。前言建议收藏,亲手写一遍代码,感受指针神奇的

这篇文章主要介绍“c++如何实现简易通讯录管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++如何实现简易通讯录管理系统”文章能帮助大家解决问题。

前言

建议收藏,亲手写一遍代码,感受指针神奇的魅力;
可以帮助你更好的巩固知识体系,熟悉指针,结构体与函数一起使用时的妙处

完成通讯录管理系统所需知识体系

结构体
2.指针
3.函数的封装
4.指针与函数的结合使用
5.指针与结构体的结合使用

结构体

联系人结构体

struct person{    string name;//姓名    string sex; //性别    int age;  //年龄    string phone;//手机号    string home;//地址};

通讯录结构体

struct addressbook{    struct person personArray[MAX]; //通讯录扩展到100;    int size=0;  //当前联系人个数(后面就相当于i++)};

函数模块

void menu();//菜单void putit(addressbook* add);//添加联系人void showperson(addressbook* add);// 显示联系人int if_include(addressbook* add, string name);//判断联系人void deleteperson(addressbook* add, int i);//删除联系人void findPerson( addressbook* add);//查找联系人void cleanperson(struct addressbook* add);//清空所有联系人

菜单

void menu(){    cout << endl;    cout << "**********【主菜单】************" << endl;    cout << "---------1.添加联系人:----------" << endl;    cout << "---------2.显示联系人:---------" << endl;    cout << "---------3.删除联系人:---------" << endl;    cout << "---------4.查找联系人:---------" << endl;    cout << "---------5.修改联系人:---------" << endl;    cout << "---------6.清空联系人:---------" << endl;    cout << "---------0.退出通讯录:---------" << endl;    cout << "*******************************" << endl;}

添加联系人

void putit(addressbook* add)//添加联系人功能{    if (add->size == MAX)        cout << "通讯录已满" << endl;    else    {        string name;        string sex;        int age;        string phone;        string home;        cout << "请输入姓名" << endl;        cin >> name;        add->personArray[add->size].name = name;        cout << "请输入姓别" << endl;        cin >> sex;        add->personArray[add->size].sex = sex;        cout << "请输入年龄" << endl;        cin >> age;        add->personArray[add->size].age = age;        cout << "请输入电话号码" << endl;        cin >> phone;        add->personArray[add->size].phone = phone;        cout << "请输入家庭住址" << endl;        cin >> home;        add->personArray[add->size].home = home;        add->size++;        cout << "添加联系人成功" << endl;            }    system("pause");    system("cls");    menu();}

有人问添加联系人函数中为什么要使用指针?
因为值传递中形参无法改变实参;
而利用指针的地址传递可以通过函数中的形参改变实参;
具体原理可以参考博主之前的指针基础和指针进阶内容]

显示联系人

void showperson(addressbook* add){    for (int i = 0; i <add->size; i++)    {        cout << "姓名:  " << add->personArray[i].name;        cout << "\t姓别:  " << add->personArray[i].sex;        cout << "\t年龄:  " << add->personArray[i].age;        cout << "\t电话号码:  " << add->personArray[i].phone;        cout << "\t家庭住址:  " << add->personArray[i].home << endl;    }    system("pause");    system("cls");    menu();}

判断联系人

int if_include(addressbook* add, string name){    for (int i = 0; i < add->size; i++)    {        if (name == add->personArray[i].name)        {            return i;        }        else        {            return -1;        }    }}

删除联系人

void deleteperson(addressbook* add, int i){    for (; i < add->size; i++)    {        add->personArray[i] = add->personArray[i + 1];    }    system("pause");    system("cls");}

查找联系人

void findPerson( addressbook* add){    cout << "请输入您想要查找的联系人:" << endl;    string name;    cin >> name;    int ret = if_include(add, name);    if (ret == -1)    {        cout << "查无此人" << endl;    }    else    {   //查到此人,进行显示操作        int i = ret;        cout << "姓名:" << add->personArray[i].name << "\t";        cout << "性别:" << add->personArray[i].sex << "\t";        cout << "年龄:" << add->personArray[i].age << "\t";        cout << "联系方式:" << add->personArray[i].phone << "\t";        cout << "地址:" << add->personArray[i].home << endl;    }    //按任意键清屏    system("pause");    system("cls");}

清空所有联系人

void cleanperson(struct addressbook* add)//清空所有联系人{    cout << "是否确认清空?" << endl;    cout << "1 --- 是" << endl;    cout << "2 --- 否" << endl;    int a;    cin >> a;    if (a == 1)    {        add->size = 0;//将当前记录联系人数量置为0,做逻辑上的清空操作        cout << "通讯录已清空" << endl;    }    system("pause");    system("cls");}

main函数

int main(){    menu();    addressbook add;//定义一个通讯录    int choice=1;    while (choice != 0)    {        cin >> choice;        switch (choice)//选择        {        case 1: putit(&add);            break;        case 2: showperson(&add);            break;        case 3: {cout << "请输入你要删除的人的名字" << endl;            string aname;            cin >> aname;            if (if_include(&add, aname) == -1)            {                cout << "查无此人" << endl;                break;            }            if (if_include(&add, aname))            {                deleteperson(&add, if_include(&add, aname));            }        }            break;         case 4:            break;        case 5:            break;        case 6:            break;        case 0: cout << "欢迎下次使用" << endl;            return 0;            break;        default: {cout << "输入不合法,请重新输入" << endl;            break; }        }    }}

源代码

#include<iOStream>using namespace std;#include<string>#define MAX 100struct person{    string name;//姓名    string sex; //性别    int age;  //年龄    string phone;//手机号    string home;//地址};struct addressbook{    struct person personArray[MAX]; //通讯录扩展到100;    int size=0;  //当前联系人个数(后面就相当于i++)};void menu();//菜单void putit(addressbook* add);void showperson(addressbook* add); int if_include(addressbook* add, string name);void deleteperson(addressbook* add, int i);void findPerson(struct addressbooks* add);//查找联系人void cleanperson(struct addressbook* add);//清空所有联系人int main(){    menu();    addressbook add;    int choice=1;    while (choice != 0)    {        cin >> choice;        switch (choice)        {        case 1: putit(&add);            break;        case 2: showperson(&add);            break;        case 3: {            cout << "请输入你要删除的人的名字" << endl;            string aname;            cin >> aname;            if (if_include(&add, aname) == -1)            {                cout << "查无此人" << endl;                break;            }            if (if_include(&add, aname))            {                deleteperson(&add, if_include(&add, aname));            }        }            break;         case 4:            break;        case 5:            break;        case 6:            break;        case 0: cout << "欢迎下次使用" << endl;            return 0;            break;        default: {cout << "输入不合法,请重新输入" << endl;            break; }        }    }}void menu(){    cout << endl;    cout << "***********【主菜单】***********" << endl;    cout << "---------1.添加联系人:----------" << endl;    cout << "---------2.显示联系人:---------" << endl;    cout << "---------3.删除联系人:---------" << endl;    cout << "---------4.查找联系人:---------" << endl;    cout << "---------5.修改联系人:---------" << endl;    cout << "---------6.清空联系人:---------" << endl;    cout << "---------0.退出通讯录:---------" << endl;    cout << "********************************" << endl;}void putit(addressbook* add)//添加联系人功能{    if (add->size == MAX)        cout << "通讯录已满" << endl;    else    {        string name;        string sex;        int age;        string phone;        string home;        cout << "请输入姓名" << endl;        cin >> name;        add->personArray[add->size].name = name;        cout << "请输入姓别" << endl;        cin >> sex;        add->personArray[add->size].sex = sex;        cout << "请输入年龄" << endl;        cin >> age;        add->personArray[add->size].age = age;        cout << "请输入电话号码" << endl;        cin >> phone;        add->personArray[add->size].phone = phone;        cout << "请输入家庭住址" << endl;        cin >> home;        add->personArray[add->size].home = home;        add->size++;        cout << "添加联系人成功" << endl;            }    system("pause");    system("cls");    menu();}void showperson(addressbook* add){    for (int i = 0; i <add->size; i++)    {        cout << "姓名:  " << add->personArray[i].name;        cout << "\t姓别:  " << add->personArray[i].sex;        cout << "\t年龄:  " << add->personArray[i].age;        cout << "\t电话号码:  " << add->personArray[i].phone;        cout << "\t家庭住址:  " << add->personArray[i].home << endl;    }    system("pause");    system("cls");    menu();}int if_include(addressbook* add, string name){    for (int i = 0; i < add->size; i++)    {        if (name == add->personArray[i].name)        {            return i;        }        else        {            return -1;        }    }}void deleteperson(addressbook* add, int i){    for (; i < add->size; i++)    {        add->personArray[i] = add->personArray[i + 1];    }    system("pause");    system("cls");}void findPerson( addressbook* add){    cout << "请输入您想要查找的联系人:" << endl;    string name;    cin >> name;    int ret = if_include(add, name);    if (ret == -1)    {        cout << "查无此人" << endl;    }    else    {   //查到此人,进行显示操作        int i = ret;        cout << "姓名:" << add->personArray[i].name << "\t";        cout << "性别:" << add->personArray[i].sex << "\t";        cout << "年龄:" << add->personArray[i].age << "\t";        cout << "联系方式:" << add->personArray[i].phone << "\t";        cout << "地址:" << add->personArray[i].home << endl;    }    //按任意键清屏    system("pause");    system("cls");}void cleanperson(struct addressbook* add)//清空所有联系人{    cout << "是否确认清空?" << endl;    cout << "1 --- 是" << endl;    cout << "2 --- 否" << endl;    int a;    cin >> a;    if (a == 1)    {        add->size = 0;//将当前记录联系人数量置为0,做逻辑上的清空操作        cout << "通讯录已清空" << endl;    }    system("pause");    system("cls");}

由于代码量过大,建议大家可以试着分文件编写代码,也可以方便查看

运行结果

C++如何实现简易通讯录管理系统

C++如何实现简易通讯录管理系统

关于“C++如何实现简易通讯录管理系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网其他教程频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: C++如何实现简易通讯录管理系统

本文链接: https://www.lsjlt.com/news/341464.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++如何实现简易通讯录管理系统
    这篇文章主要介绍“C++如何实现简易通讯录管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++如何实现简易通讯录管理系统”文章能帮助大家解决问题。前言建议收藏,亲手写一遍代码,感受指针神奇的...
    99+
    2023-07-02
  • C++实现简易通讯录管理系统
    目录前言结构体联系人结构体通讯录结构体函数模块菜单添加联系人显示联系人判断联系人删除联系人查找联系人清空所有联系人main函数源代码运行结果本文实例为大家分享了C++实现简易通讯录管...
    99+
    2024-04-02
  • C++实现简易的通讯录管理系统
    本文实例为大家分享了C++实现简易通讯录管理系统的具体代码,供大家参考,具体内容如下 1. 效果图 2. 需要的知识 C++基础知识(包括变量,运算符,顺序,分支,循环)数组函数指...
    99+
    2024-04-02
  • C++实现简单通讯录管理系统
    本文实例为大家分享了C++实现简单的通讯录管理系统的具体代码,供大家参考,具体内容如下 一、代码 #include <iostream> #include <str...
    99+
    2024-04-02
  • C++实现简单的通讯录管理系统
    本文实例为大家分享了C++实现简单的通讯录管理系统的具体代码,供大家参考,具体内容如下 案例描述: 通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理...
    99+
    2024-04-02
  • C++实现简单版通讯录管理系统
    这个通讯录管理系统是我听课后做的笔记,都是很基础的逻辑实现,第一次动手写了一个小案例感觉找到了一点方向,也希望能帮到一点忙! 1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。...
    99+
    2024-04-02
  • C++怎么实现简单通讯录管理系统
    本篇内容介绍了“C++怎么实现简单通讯录管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、代码#include <i...
    99+
    2023-06-29
  • C语言实现简单通讯录管理系统
    C语言实现的通讯录管理系统,供大家参考,具体内容如下 设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:学号、姓名、电话号码、所在班级、寝室地址等),通信录数据类型定义为...
    99+
    2024-04-02
  • C++简易通讯录系统实现流程详解
    目录实现功能定义通讯录和通讯录人员结构体实现通讯录输入菜单1.定义菜单函数:2.主函数循环体中循环展示菜单信息实现增删改查和清空通讯录功能运行截图展示实现功能 提示:这里可以添加本文...
    99+
    2024-04-02
  • C++如何实现通讯录管理系统项目
    这篇文章主要介绍“C++如何实现通讯录管理系统项目”,在日常操作中,相信很多人在C++如何实现通讯录管理系统项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现通讯录管理系统项目”的疑惑有所帮助!...
    99+
    2023-07-02
  • C语言实现简单的通讯录管理系统
    本文实例为大家分享了C语言实现通讯录管理系统的具体代码,供大家参考,具体内容如下 要实现一个通讯录管理系统,需要用到结构体、指针、文件操作、动态管理等内容。 效果展示: 实现思路 ...
    99+
    2024-04-02
  • python实现简单通讯录管理系统
    本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下 =====欢迎使用通讯录管理系统=====1.添加2.修改3.册除4.查询5.排序6.退出==...
    99+
    2024-04-02
  • C++如何实现通讯录管理系统设计
    这篇“C++如何实现通讯录管理系统设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现通讯录管理系统设计”文章吧...
    99+
    2023-07-02
  • Java实现简单通讯录管理系统
    本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下 题目: 1、完成一个通讯录,需求: (1)添加联系人(联系人:编号,姓名,手机号,QQ,邮箱地址)...
    99+
    2024-04-02
  • C++如何实现简易通讯录功能
    这篇文章主要讲解了“C++如何实现简易通讯录功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现简易通讯录功能”吧!实现功能提示:这里可以添加本文要记录的大概内容:通过c++语法...
    99+
    2023-07-02
  • C++实现通讯录管理系统项目
    本文实例为大家分享了C++实现通讯录管理系统的具体代码,供大家参考,具体内容如下 1、通讯录设计要点 1:添加联系人:向通讯录中添加新人(包括:性别,年龄,联系电话,家庭住址),并且...
    99+
    2024-04-02
  • C++实现简单通讯录系统
    本文实例为大家分享了C++实现简单通讯录系统的具体代码,供大家参考,具体内容如下 需求分析: 1.通讯录可以添加联系人。 2.通讯录可以显示所有联系人。 3.通讯录可以查找联系人。 ...
    99+
    2024-04-02
  • python如何实现通讯录管理系统
    一. 项目要求我们可以使用函数来实现通讯录管理系统,该系统需要保存姓名、联系方式、微信号、电子邮件等联系人信息。至少要包含姓名和联系方式两种。该管理系统具备添加、删除、修改、查询、显示和保存信息的功能。二.项目步骤1.使用自定义函数实现每个...
    99+
    2023-05-22
    Python
  • C++实现简易通讯录功能
    目录实现功能一、定义通讯录和通讯录人员结构体二、实现通讯录输入菜单1.定义菜单函数:2.主函数循环体中循环展示菜单信息三、实现增删改查和清空通讯录功能四、运行截图展示本文实例为大家分...
    99+
    2024-04-02
  • C++实现通讯录管理系统设计
    本文实例为大家分享了C++实现通讯录管理系统的具体代码,供大家参考,具体内容如下 最核心的内容是结构体,结构体数组与指针 主要功能包括:添加联系人 ;显示联系人;删除联系人 ;查找联...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作