c++实现通讯录制作
C/C++实现通讯录的制作,实现添加,删除,查找,显示,退出等功能。
#include<iostream>
#include<string>
using namespace std;
#define MAX 1000//设计联系人结构体
struct person {//名字string name;//性别 1男 2女int sex;//年龄int age;//电话string phone;//家庭住址string add;
};//设计通讯录结构体
struct books {//联系人数组person p[MAX];//联系人个数int size;
}; //添加联系人
void add(books* abs) {//先判断是否已满,如果满了不添加if (abs->size == MAX) {cout << "通讯录已满" << endl;return;}else {//添加具体联系人string name;cout << "请输入姓名" << endl;cin >> name;abs->p[abs->size].name = name;//性别cout << "请输入性别" << endl;cout << "1----男" << endl;cout << "2----女" << endl;int sex;while (true) {cin >> sex;if (sex == 1 || sex == 2) {abs->p[abs->size].sex = sex;break;}else {cout << "输入有误,请重新输入" << endl;}}//年龄cout << "请输入年龄" << endl;int age;cin >> age;abs->p[abs->size].age = age;//电话cout << "请输入电话:" << endl;string phone;cin >> phone;abs->p[abs->size].phone = phone;//家庭住址cout << "请输入家庭地址:" << endl;string add;cin >> add;abs->p[abs->size].add = add;//更新通讯录人数abs->size++;cout << "恭喜您添加成功" << endl;system("pause");//请按任意键继续system("cls");//清屏}
}//显示联系人
void show(books* abs) {//判断通讯录是否有人//若有人,显示,若没有,提示if (abs->size == 0) {cout << "通讯录为空" << endl;}else {for (int i = 0; i < abs->size; i++) {cout << "姓名:" << abs->p[i].name << "\t";cout << "性别:" <<( abs->p[i].sex==1?"男":"女") << "\t";cout << "年龄:" << abs->p[i].age << "\t";cout << "电话:" << abs->p[i].phone << "\t";cout << "住址:" << abs->p[i].add << endl;}}system("pause");system("cls");
}//检测联系人是否存在,如果存在,则删除,否则返回-1
int exist(books* abs,string name) {for (int i = 0; i < abs->size; i++) {if (abs->p[i].name == name) {return i;//找到了,返回这个人在数组中的下标}}return -1;//如果遍历完没有找到,返回-1
}//删除指定联系人
void del(books* abs) {cout << "请输入您要删除的人" << endl;string name;cin >> name;int ret = exist(abs, name);if (ret != -1) {for (int i = ret; i < abs->size; i++) {//数据前移abs->p[i] = abs->p[i + 1];}abs->size--;//更新人数cout << "删除成功!" << endl;}else {cout << "查无此人" << endl;}system("pause");system("cls");
}//查找指定的联系人
void find(books* abs) {cout << "请输入您要查找的联系人" << endl;string name;cin >> name;//判断指定联系人是否存在int ret = exist(abs,name);if (ret != -1) {cout << "姓名:" << abs->p[ret].name << "\t";cout << "性别:" << abs->p[ret].sex << "\t";cout << "年龄:" << abs->p[ret].age << "\t";cout << "电话:" << abs->p[ret].phone << "\t";cout << "地址:" << abs->p[ret].add << "\t";}else {cout << "查无此人" << endl;}system("pause");system("cls");
}//修改联系人
void modify(books* abs) {cout << "请输入要修改的联系人信息" << endl;string name;cin >> name;int ret = exist(abs, name);if (ret != -1) {string name;cout << "请输入姓名" << endl;cin >> name;abs->p[ret].name = name;//性别cout << "请输入性别" << endl;cout << "1----男" << endl;cout << "2----女" << endl;int sex;while (true) {cin >> sex;if (sex == 1 || sex == 2) {abs->p[ret].sex = sex;break;}else {cout << "输入有误,请重新输入" << endl;}}//年龄cout << "请输入年龄" << endl;int age;cin >> age;abs->p[ret].age = age;//电话cout << "请输入电话:" << endl;string phone;cin >> phone;abs->p[ret].phone = phone;//家庭住址cout << "请输入家庭地址:" << endl;string add;cin >> add;abs->p[ret].add = add;}else {cout << "查无此人" << endl;}system("pause");system("cls");
}//清空联系人
void clear(books* abs) {abs->size = 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() {//创建一个通讯录books abs;abs.size = 0;int select;//创建用户选择输入的变量while (true) {//菜单的调用showmenu();cin >> select;switch (select) {case 1://1、添加联系人add(&abs);//利用地址传递break;case 2:// 2、显示联系人show(&abs);break;case 3:// 3、删除联系人del(&abs);break;case 4://4、查找联系人find(&abs);break;case 5://5、修改联系人modify(&abs);break;case 6://6、清空联系人clear(&abs);break;case 0:// 0、退出通讯录 cout << "欢迎下次使用" << endl;system("pause");return 0;break;default:break;}}system("pause");return 0;
}
结果如图所示:
c++实现通讯录制作相关推荐
- Android Studio 简易通讯录制作 (Java)
通讯录首页: 添加联系人页面: 修改联系人: 删除联系人: 程序代码: MainActivity.java package com.example.myapplication;import andro ...
- c语言 数据结构 课程设计 通讯录制作
c语言 数据结构 课程设计 源码 infoBook.c #include "dataStruct.h" #include <stdio.h> #include & ...
- java课设通讯录制作,JAVA课程设计--个人通讯录管理系统
JAVA课程设计--个人通讯录管理系统 JAVAJAVA 课程设计课程设计 课题个人通讯录管理系统课题个人通讯录管理系统 课程名称 java 课程设计 院 系 计算机科学与技术学院 班 级 09 计本 ...
- html模仿原生ios通讯录制作国家展示页(手机端)
html内容 <div id="item-container"><ul></ul> </div><script src=&qu ...
- LinuxC语言——通讯录
LinuxC语言--通讯录 制作通讯录的一些基础知识 功能 代码 链表节点创建 节点插入 增加节点到链表头 节点插入 增加节点到链表尾部 节点查找(姓名.号码) 节点删除 显示节点 主函数逻辑 运行效 ...
- 【效率特工队】Excel转手机通讯录格式,如何将一个Excel批量拆分生成多个vcf,怎么快速的加微信好友,优化一下方法效率可能更高,解决微信通讯录手机联系人好友不显示的问题
本文用到的软件下载地址 软件下载地址:https://share.weiyun.com/JG6ZNAv7 CSDN贵族下载地址:https://download.csdn.net/download/b ...
- 【效率特工队】如何快速将Excel表格的号码导入安卓和苹果手机通讯录,批量添加大量手机号码到手机通讯录的最快方法
很多人遇到一个问题,在做微商.还有整理客户资料等等过程中 有大批量的手机号需要导入到安卓和苹果手机的通讯录保存 然后通过通讯录加客户微信,通过支付宝通讯录核实用户信息等等应用中 很多人也知道QQ同步助 ...
- 中原大学 php,台湾中原大学php教程孙仲岳主讲
1.一周学会 PHP ftp://ftp.cycu.edu.tw/CNA/Course ... os/040816_PHP_1.wmv ftp://ftp.cycu.edu.tw/CNA/Course ...
- 日常所需 - 收藏集 - 掘金
通过 Weex 300 行代码开发一款简易的跑步 App - 前端 - 掘金 一套构建高性能.可扩展的原生应用的跨平台开发方案 Weex 给大家带来的无疑是客户端开发效率的提升,我们可以通过一套代码, ...
- 自定义view - 收藏集 - 掘金
Android 从 0 开始自定义控件之 View 的 draw 过程 (九) - Android - 掘金 转载请标明出处: http://blog.csdn.net/airsaid/... 本文出 ...
最新文章
- 如何从头开始构建自己的Linux Dotfiles Manager
- java实现高斯赛德尔算法解线性方程组
- 美团点评业务风控系统构建经验
- Android O限制系统全屏进一步遏制手机勒索
- vs如何写多线程_VS + PS + GS
- CSS3之Transition
- 用gSOAP开发Web Service程序
- 基于php校园失物招领,校园失物招领系统的设计.doc
- 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗
- 高通Android平台下关于display部分的几个关键问题
- Qt多线程之QMutex
- 爬虫—使用Requests
- Elasticsearch mysql 增量同步
- 解决button多次重复点击
- 软件项目开发文档模板
- Excel技巧—超实用的字符串拆分小技巧
- 英雄联盟数据分析专题(一)
- C++-导出类-导出宏-纯虚函数-DllMain函数-调用约定与参数命名
- 拳皇觉醒服务器维护,拳魂觉醒活动什么时候开 服务器开区活动时间顺序
- mysql免安装版修改密码
热门文章
- 分享好用的Mac系统的FTP工具和SHELL工具
- Revit导入CAD翻模丨CAD图层管理控制显示隐藏图层
- 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
- excel删除行闪退_excle2017打开就闪退:excel表格打开闪退怎么办
- Leetcode五大常用算法
- Unity开发 罗技方向盘 G29 白话版
- matlab除法不对,matlab中除法的使用,错误使用 / 矩阵维度必须一致
- 计算机拓展名cad,CAD用到的各种文件格式有哪些
- Filter 敏感词汇过滤案例
- c语言必背数组函数100代码,C语言必背的典型程序设计题目 数组、函数参考答案.pdf...