我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C++如何实现通讯录管理系统设计

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C++如何实现通讯录管理系统设计

这篇“C++如何实现通讯录管理系统设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现通讯录管理系统设计”文章吧。

最核心的内容是结构体,结构体数组与指针

主要功能包括:添加联系人 ;显示联系人;删除联系人 ;查找联系人 ;修改联系人 ;清空联系人

主界面

C++如何实现通讯录管理系统设计

添加联系人

C++如何实现通讯录管理系统设计

显示联系人

C++如何实现通讯录管理系统设计

删除联系人

C++如何实现通讯录管理系统设计

查找联系人

C++如何实现通讯录管理系统设计

修改联系人

C++如何实现通讯录管理系统设计

清空联系人

C++如何实现通讯录管理系统设计

//封装函数显示该界面,如 void showMenu()//在mian函数中调用封装好的函数#include <iostream>#include <string>#define MAX 1000using namespace std;//设计联系人结构体struct Person{    //姓名    string m_Name;    //性别    int m_Sex;    //年龄    int m_Age;    //电话    string m_Phone;    //住址    string m_Addr;};//设计通讯录结构体struct Addressbooks{    //通讯录中保存的联系人数组    struct Person personArray[MAX];    //通讯录中当前记录联系人个数    int m_Size;};// 1、添加联系人void addPerson(Addressbooks *abs){    //判断通讯录是否已满,如果满了就不再添加    if (abs->m_Size == MAX)    {        cout << "通讯录已满,无法添加" << endl;        return;    }    else     {        //添加具体联系人        //姓名        string name;        cout << "请输入姓名:" << endl;        cin >> name;         abs->personArray[abs->m_Size].m_Name = name;                //性别        cout << "请输入性别:" << endl;        cout << "1 -- 男" << endl;        cout << "2 -- 女" << endl;        int sex = 0;        while (true)        {            //如果输入的是1或者2可以退出循环,因为输入的是正确值            //如果输入有误,重新输入            cin >> sex;            if (sex == 1 || sex == 2)            {                abs->personArray[abs->m_Size].m_Sex = sex;                break;            }            cout << "输入有误,请重新输入" << endl;        }        //年龄        cout << "请输入年龄:" << endl;        int age = 0;        cin >> age;        abs->personArray[abs->m_Size].m_Age = age;        //电话        cout << "请输入联系电话:" << endl;        string phone;        cin >> phone;        abs->personArray[abs->m_Size].m_Phone = phone;        //住址        cout << "请输入家庭地址:" << endl;        string address;        cin >> address;        abs->personArray[abs->m_Size].m_Addr = address;        //更新通讯录人数        abs->m_Size++;        cout << "添加成功" << endl;        system("pause"); //请按任意键继续        system("cls"); //清屏操作    }}//2、显示所有联系人void showPerson(Addressbooks * abs){    //判断通讯录中人数是否为0,如果为0,提示记录为空    //如果不为0,显示记录的联系人信息    if (abs->m_Size == 0)    {        cout << "当前记录为空" << endl;    }    else    {        for (int i = 0; i < abs->m_Size; i++)        {            cout << "姓名: " << abs->personArray[i].m_Name << "\t"; //空格            cout << "性别: " << (abs->personArray[i].m_Sex == 1 ? "男":"女")<< "\t"; //三目运算符            cout << "年龄: " << abs->personArray[i].m_Age << "\t";            cout << "电话: " << abs->personArray[i].m_Phone << "\t";            cout << "住址: " << abs->personArray[i].m_Addr << endl;        }    }    system("pause");    system("cls");}//检测联系人是否存在,如果存在,返回联系人所在数组中的具体位置,不存在返回-1//参数1 通讯录,参数2,对比姓名int isExist(Addressbooks *abs, string name){    for (int i = 0; i < abs->m_Size; i++)    {        if (abs->personArray[i].m_Name == name)        {            return i;        }    }    return -1; //如果遍历结束都没有找到,返回-1}//3、删除指定联系人void deletePerson(Addressbooks *abs){    cout << "请输入您要删除的联系人" << endl;    string name;    cin >> name;    //ret == -1  未查到    //ret == 1 查到了    int ret = isExist(abs, name);    if(ret != -1)    {        //查找到人,要进行删除操作        for (int i = ret; i < abs->m_Size; i++)        {            //数据前移            abs->personArray[i] = abs->personArray[i + 1];        }        abs->m_Size--; //更新通讯录中的人员数        cout << "删除成功" << endl;    }    else    {        cout << "查无此人" << endl;     }    system("pause");    system("cls");}//4、查找联系人void findPerson(Addressbooks *abs){    cout << "请输入要查找的联系人: " << endl;    string name;    cin >> name;    //判断指定的联系人是否存在    int ret = isExist(abs, name);    if (ret != -1) // 找到联系人    {        cout << "姓名: " << abs->personArray[ret].m_Name << "\t"; //空格        cout << "性别: " << (abs->personArray[ret].m_Sex == 1 ? "男" : "女") << "\t"; //三目运算符        cout << "年龄: " << abs->personArray[ret].m_Age << "\t";        cout << "电话: " << abs->personArray[ret].m_Phone << "\t";        cout << "住址: " << abs->personArray[ret].m_Addr << endl;    }    else //未找到联系人    {        cout << "查无此人" << endl;    }    //任意键按下后 清屏    system("pause");    system("cls");}//5、修改指定联系人信息void modifyPerson(Addressbooks *abs){    cout << "请输入需要修改的联系人: " << endl;    string name;    cin >> name;    int ret = isExist(abs, name);    if (ret != -1) //找到指定的联系人    {        //姓名        string name;        cout << "请输入姓名: " << endl;        cin >> name;        abs->personArray[ret].m_Name = name;        //性别        cout << "请输入性别: " << endl;        cout << "1 -- 男 " << endl;        cout << "2 -- 女 " << endl;        int sex = 0;        while (true)        {            cin >> sex;            if (sex == 1 || sex == 2)            {                //输入正确,退出循环输入                abs->personArray[ret].m_Sex = sex;                break;            }            cout << "输入有误,请重新输入" << endl;        }            //年龄        cout << "请输入年龄: " << endl;        int age = 0;        cin >> age;        abs->personArray[ret].m_Age = age;        //电话        cout << "请输入电话: " << endl;        string phone;        cin >> phone;        abs->personArray[ret].m_Phone = phone;        //住址        cout << "请输入住址: " << endl;        string address;        cin >> address;        abs->personArray[ret].m_Addr = address;        cout << "修改成功!" << endl;    }    else    {        cout << "查无此人" << endl;    }    //任意键按下后 清屏    system("pause");    system("cls");}// 6、清空联系人void  cleanPerson(Addressbooks *abs){    abs->m_Size = 0; //将当前记录的通讯录联系人数量置为0,做逻辑清空操作    cout << "通讯录已清空" << endl;    //任意键按下后 清屏    system("pause");    system("cls");}//菜单界面void showMenu(){    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;}int main(){    //创建通讯录结构体变量    Addressbooks abs;    //初始化通讯录中当前人员个数    abs.m_Size = 0;    int select = 0; //创建用户选择输入的变量    while (true)    {        //菜单调用        showMenu();        cin >> select;        switch (select)        {        case 1: //添加联系人            addPerson(&abs); //利用地址传递,可以修饰实参            break;        case 2: //显示联系人            showPerson(&abs);            break;        case 3: //删除联系人            deletePerson(&abs);            break;        case 4: //查找联系人            findPerson(&abs);            break;        case 5: //修改联系人            modifyPerson(&abs);            break;        case 6: //清空联系人            cleanPerson(&abs);            break;        case 0: //退出通讯录            cout << "欢迎下次使用" << endl;            system("pause");            return 0;            break;        default:            break;        }    }        system("pause"); //暂停,等待用户信号    return 0;}

以上就是关于“C++如何实现通讯录管理系统设计”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C++如何实现通讯录管理系统设计

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

下载Word文档

猜你喜欢

C++如何实现通讯录管理系统设计

这篇“C++如何实现通讯录管理系统设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现通讯录管理系统设计”文章吧
2023-07-02

C++如何实现通讯录管理系统项目

这篇文章主要介绍“C++如何实现通讯录管理系统项目”,在日常操作中,相信很多人在C++如何实现通讯录管理系统项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现通讯录管理系统项目”的疑惑有所帮助!
2023-07-02

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

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

C/C++实现通讯录管理系统(附源码)

这篇文章主要为大家详细介绍了如何利用C++实现通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-12-15

C++如何实现通讯录系统

本篇内容介绍了“C++如何实现通讯录系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!制作一个具有添加联系人、删除联系人、修改联系人等功能的
2023-07-02

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

这篇“怎么用C++实现通讯录管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C++实现通讯录管理系统”文章吧。系
2023-07-02

C语言单链表如何实现通讯录管理系统

这篇文章将为大家详细讲解有关C语言单链表如何实现通讯录管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通讯录管理系统保存人的信息有: 名字 name电话 telephone性别 sex年
2023-06-15

C语言开发实现通讯录管理系统

这篇文章主要为大家详细介绍了C语言开发实现通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录