C++实现简易通讯录
功能和效果图
功能
通讯录实现联系人查找,添加联系人,删除联系人,联系人信息修改
效果图
实现代码
创建结构体
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++实现简易通讯录相关推荐
- c语言通讯录打电话,C语言实现简易通讯录 | 术与道的分享
#include #include #include #include #include #pragma warning (disable:4996) enum Contact //枚举变量 { Qu ...
- C语言实现简易通讯录
实现一个通讯录: 通讯录可以用来存储联系人的信息,每个人的信息包括: 姓名.性别.年龄.电话.住址 提供方法: 1.添加联系人信息 2.删除指定联系人信息 3.查找指定联系人信息 4.修改指定联系人信 ...
- C#简易通讯录的开发试题
题目:简易通讯录的开发 语言和环境 语言:C#,WinForms 环境:Visual Studio 2010,SQL Server 2008 二. 实现目标 简易通讯录,要求使用.NET WinFo ...
- 初学者必学项目之C++实现简易通讯录
本期我们利用C++实现简易通讯录 一.基本功能 1.添加联系人 2.显示联系人 3.删除联系人 4.查找联系人 5.修改联系人 6.清空联系人 0.退出通讯录 二.成品展示 以上为通讯录各功能的详细展 ...
- 在Linux下开发简易通讯录
通过这一段时间的学习,这两天花了不少时间巩固理解,终于完成了在Linux下开发简易通讯录,由于时间仓促,该程序有着不少bug,对于用户的输入容错率也不高,只做了开始菜单的输入容错,功能也只实现了基本的 ...
- Java数据结构——用单链表编写一个简易通讯录
Java数据结构--用单链表编写一个简易通讯录 1.定义线性表的抽象数据类型(接口) 2.定义单链表的结点Node类 3.定义数据域中的联系人Person类 4.编写顺序表(类) 5.编写测试程序(m ...
- iOS开发-------Sqlite3实现本地存储简易通讯录
最近几天整了下Sqlite3,也就是iOS的另外一种储存方式,那么coreData是有什么不足么,不是,一般数据比较简易的时候是不会用coreData的,反而会用自身的sqlte3来实现本地的存储,这 ...
- android联系人的简易通讯录
android简易的通讯录代码 主要用到了 数据库存储的知识点 还有menu package com.example.song.lx_day13_contact;import android.co ...
- 文件格式的简易通讯录
上一篇写了一个简易的通讯录,但是这个通讯录每次打开的时候都要重新录入信息,十分麻烦.所以今天我们来实现一个文件版本的通讯录,在创建的工程中新建一个文档用来存放通讯录里的信息(我在这里创建的是conta ...
最新文章
- 二叉树:最近的公共祖先 Lowest Common Ancestor of a Binary Tree
- [转载]使用C#的BitmapData
- 【CyberSecurityLearning 附】DNS复习演示所有实验
- 对联一副,勉励奋斗在网络事业上的兄弟们
- Spring加载resource时classpath*:与classpath:的区别(转)
- HYSBZ - 1050(旅行comf 并查集Java实现)
- 运用PARALLEL方式成倍提升Oracle数据分析效率
- GUID和INT两种数据类型做主键的比较
- Python yaml处理
- SAP License:后SAP ECC 6.0 时代
- mysql vs0215_0215 docker环境
- 数字图像处理-冈萨雷斯(学习笔记)
- Word格式处理控件Aspose.Words for .NET教程——如何删除页脚,但保留页眉完整
- php微信公众平台关注后欢迎语的设置,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?...
- myeclipse删除jar时出错,无法删除怎么办
- 2017中国大学生计算机设计大赛总结
- Python如何打印出26个大写字母和26个小写字母
- 怎样将蓝底照片换成白底
- 21天战拖记——Day8:猴子法则and继续复习!(2014-05-11)
- Arduino提高篇04—U8g2库驱动OLED
热门文章
- JavaWEB开发21——综合项目(图书商城)
- mybatis的一对一 一对多 多对多
- mxnet安装及NDArray初体验
- PHP JSON_ENCODE 不转义中文汉字的方法
- “卖我一枝笔”:如何史蒂夫·乔布斯将这一经典问题作出回应?
- 目前比较流行的Python科学计算发行版
- golang中slice切片的修改操作
- 返回子串CF 312A(Whose sentence is it?-strstr(s,p))
- 如何安装apache服务器最新,云服务器如何安装apache
- java注解方式实体类_如何用注解的方式在实体类中实现一对一,和一对多多对多...