功能和效果图

功能
通讯录实现联系人查找,添加联系人,删除联系人,联系人信息修改
效果图

实现代码

创建结构体

typedef struct News
{string name;       //姓名string sex;         //性别string address;     //地址int tell;           //电话
}News;

查找联系人

int search(News *a)
{string name;int x;cout << "请输入要查找人的姓名:" << endl;cin >> name;for (int i = 0; i <= number; i++){if (a[i].name == name)                               //查找成功{cout << "查找结果为:" << endl;cout <<"姓名为:"<< a[i].name <<"  性别为:"<< a[i].sex << "  地址为:" << a[i].address << "  电话为:" << a[i].tell << endl;cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");    //清屏,返回主界面return 1;}}cout << "没有该联系人,查找结束" << endl;              //查找失败cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");    //清屏,返回主界面return -1;
}

添加联系人

void  Add(News *a)
{int x;int i = number;int tell1;cout << "请输入要插入联系人的姓名:" << endl;   //输入添加联系人的信息cin >> a[i].name;cout << "请输入要插入联系人的性别:" << endl;cin >> a[i].sex;cout << "请输入要插入联系人的地址:" << endl;cin >> a[i].address;cout << "请输入要插入联系人的电话:" << endl;cin >> a[i].tell;number++;cout << "信息已经保存,按任意数字键后,按enter结束" << endl;cin >> x;system("cls");     //清屏,返回主界面}

删除联系人

int Delete(News *a)
{int i = number;int x;string name;cout<<"请输入要删除联系人的姓名"<<endl;cin >> name;for (int i = 0; i <= number; i++){if (a[i].name == name)                     //根据姓名查找需要删除的联系人{number--;cout << "删除成功!" << endl;cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");    //清屏,返回主界面return 1;}}cout << "联系人不存在" << endl;cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");    //清屏,返回主界面return 0;
}

修改联系人的信息

int Alter(News *a)
{int x;int i = number;string oldname;string newname;string newsex;string newaddress;int newtell;cout<<"请输入需要修改联系人的姓名:"<<endl;cin >> oldname;for (int i = 0; i <= number; i++){if (a[i].name == oldname){cout<<"请输入该联系人新信息"<<endl;cout << "请输入联系人的姓名:" << endl;   //输入联系人的新信息cin >> newname;a[i].name = newname;cout << "请输入联系人的性别:" << endl;cin >> newsex;a[i].sex = newsex;cout << "请输入联系人的地址:" << endl;cin >> newaddress;a[i].address = newaddress;cout << "请输入联系人的电话:" << endl;cin >> newtell;a[i].tell = newtell;cout << "联系人信息已经更改!" << endl;cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");   //清屏,返回主界面return 1;}}cout << "联系人不存在" << endl;cout << "按任意数字键后,按enter结束" << endl;cin >> x;system("cls");    //清屏,返回主界面return -1;
}

服务选择

int choose()
{int choice;cout << "                **********简易通讯录**********" << endl;cout << "                  1.按姓名查找联系人" << endl;cout << "                 2.添加联系人" << endl;cout << "                    3.删除联系人" << endl;cout << "                    4.修改联系人" << endl;cout << "                    5.退出" << endl;cout << "                 请输入数字1-5选择服务" << endl;cin >> choice;system("cls");    //清屏return choice;
}

测试函数

int main()
{News a[50];                    //初始化允许最大输入联系人为50int choice = 0;while (choice != 5){choice = choose();switch (choice)            //选择服务{case 1: search(a); break;case 2: Add(a); break;case 3: Delete(a); break;case 4: Alter(a); break;case 5: exit(0); break;default:break;}}

【注】在这个程序里,联系人信息是保存在数组里面的,所以每次打开都是一个新的通讯录(暂时没有写到文件里面),所以称为简易通讯录

C++实现简易通讯录相关推荐

  1. c语言通讯录打电话,C语言实现简易通讯录 | 术与道的分享

    #include #include #include #include #include #pragma warning (disable:4996) enum Contact //枚举变量 { Qu ...

  2. C语言实现简易通讯录

    实现一个通讯录: 通讯录可以用来存储联系人的信息,每个人的信息包括: 姓名.性别.年龄.电话.住址 提供方法: 1.添加联系人信息 2.删除指定联系人信息 3.查找指定联系人信息 4.修改指定联系人信 ...

  3. C#简易通讯录的开发试题

    题目:简易通讯录的开发 语言和环境 语言:C#,WinForms 环境:Visual Studio 2010,SQL Server 2008 二.  实现目标 简易通讯录,要求使用.NET WinFo ...

  4. 初学者必学项目之C++实现简易通讯录

    本期我们利用C++实现简易通讯录 一.基本功能 1.添加联系人 2.显示联系人 3.删除联系人 4.查找联系人 5.修改联系人 6.清空联系人 0.退出通讯录 二.成品展示 以上为通讯录各功能的详细展 ...

  5. 在Linux下开发简易通讯录

    通过这一段时间的学习,这两天花了不少时间巩固理解,终于完成了在Linux下开发简易通讯录,由于时间仓促,该程序有着不少bug,对于用户的输入容错率也不高,只做了开始菜单的输入容错,功能也只实现了基本的 ...

  6. Java数据结构——用单链表编写一个简易通讯录

    Java数据结构--用单链表编写一个简易通讯录 1.定义线性表的抽象数据类型(接口) 2.定义单链表的结点Node类 3.定义数据域中的联系人Person类 4.编写顺序表(类) 5.编写测试程序(m ...

  7. iOS开发-------Sqlite3实现本地存储简易通讯录

    最近几天整了下Sqlite3,也就是iOS的另外一种储存方式,那么coreData是有什么不足么,不是,一般数据比较简易的时候是不会用coreData的,反而会用自身的sqlte3来实现本地的存储,这 ...

  8. android联系人的简易通讯录

    android简易的通讯录代码  主要用到了 数据库存储的知识点  还有menu package com.example.song.lx_day13_contact;import android.co ...

  9. 文件格式的简易通讯录

    上一篇写了一个简易的通讯录,但是这个通讯录每次打开的时候都要重新录入信息,十分麻烦.所以今天我们来实现一个文件版本的通讯录,在创建的工程中新建一个文档用来存放通讯录里的信息(我在这里创建的是conta ...

最新文章

  1. 二叉树:最近的公共祖先 Lowest Common Ancestor of a Binary Tree
  2. [转载]使用C#的BitmapData
  3. 【CyberSecurityLearning 附】DNS复习演示所有实验
  4. 对联一副,勉励奋斗在网络事业上的兄弟们
  5. Spring加载resource时classpath*:与classpath:的区别(转)
  6. HYSBZ - 1050(旅行comf 并查集Java实现)
  7. 运用PARALLEL方式成倍提升Oracle数据分析效率
  8. GUID和INT两种数据类型做主键的比较
  9. Python yaml处理
  10. SAP License:后SAP ECC 6.0 时代
  11. mysql vs0215_0215 docker环境
  12. 数字图像处理-冈萨雷斯(学习笔记)
  13. Word格式处理控件Aspose.Words for .NET教程——如何删除页脚,但保留页眉完整
  14. php微信公众平台关注后欢迎语的设置,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?...
  15. myeclipse删除jar时出错,无法删除怎么办
  16. 2017中国大学生计算机设计大赛总结
  17. Python如何打印出26个大写字母和26个小写字母
  18. 怎样将蓝底照片换成白底
  19. 21天战拖记——Day8:猴子法则and继续复习!(2014-05-11)
  20. Arduino提高篇04—U8g2库驱动OLED

热门文章

  1. JavaWEB开发21——综合项目(图书商城)
  2. mybatis的一对一 一对多 多对多
  3. mxnet安装及NDArray初体验
  4. PHP JSON_ENCODE 不转义中文汉字的方法
  5. “卖我一枝笔”:如何史蒂夫·乔布斯将这一经典问题作出回应?
  6. 目前比较流行的Python科学计算发行版
  7. golang中slice切片的修改操作
  8. 返回子串CF 312A(Whose sentence is it?-strstr(s,p))
  9. 如何安装apache服务器最新,云服务器如何安装apache
  10. java注解方式实体类_如何用注解的方式在实体类中实现一对一,和一对多多对多...