当前位置: 首页 > news >正文

日本真人做爰直播网站/seo资源网站 排名

日本真人做爰直播网站,seo资源网站 排名,自己做b2b平台网站建设,潍坊做网站哪家公司最好前言:我是在B站上看黑马的视频来学习的c,看着这个项目还不错,就整理下来分享给大家了。所以说,原作者是黑马的老师。B站链接为:https://www.bilibili.com/video/BV1et411b73Z?t6&p82 通讯录管理系统1、系统需求2、…

前言:我是在B站上看黑马的视频来学习的c++,看着这个项目还不错,就整理下来分享给大家了。所以说,原作者是黑马的老师。B站链接为:https://www.bilibili.com/video/BV1et411b73Z?t=6&p=82

通讯录管理系统

  • 1、系统需求
  • 2、创建项目
  • 3、菜单显示(功能)
  • 4、设计联系人和通讯录结构体
  • 5、设计主函数
    • 5-1.创建通讯录结构体变量(abs)
    • 5-2.通过switch语句,搭建整体框架
    • 5-3.实现退出功能(case 0)
  • 6、添加联系人
  • 7、显示联系人
  • 8、删除联系人
    • 8-1.检测联系人是否存在
    • 8-2.删除指定联系人
  • 9、查找联系人
  • 10、修改联系人
  • 11、清空联系人
  • **整体代码**

1、系统需求

通讯录是一个可以记录亲人、好友信息的工具。
本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:
添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人
显示联系人:显示通讯录中所有联系人信息
删除联系人:按照姓名进行删除指定联系人
查找联系人:按照姓名查看指定联系人信息
修改联系人:按照姓名重新修改指定联系人
清空联系人:清空通讯录中所有信息
退出通讯录:退出当前使用的通讯录

2、创建项目

我相信大家都会创建一个c++项目,并且为他添加.cpp文件

3、菜单显示(功能)

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;
}

4、设计联系人和通讯录结构体

//设计联系人结构体
struct Person
{//姓名string m_name;//性别 1.男 2.女int m_sex;//年龄int m_age;//手机号string m_phone;//家庭住址string m_add;
};
//设计通讯录结构体
struct Addressbooks
{//保存联系人的数组struct Person personArry[MAX];//通讯录中当前记录联系人个数int m_size;
};

5、设计主函数

5-1.创建通讯录结构体变量(abs)

5-2.通过switch语句,搭建整体框架

5-3.实现退出功能(case 0)

#include<iostream>
#include<string>
using namespace std;
#define MAX 1000
int main()
{//创建通讯录结构体变量struct Addressbooks abs;//初始化通讯录中当前人员个数abs.m_size=0;int select=0;while(true){//菜单调用showMenu();cin >>select;switch(select){case 1://1.添加联系人break;case 2://2.显示联系人break;case 3://3.删除联系人break;case 4://4.查找联系人break;case 5://5.修改联系人break;case 6://6.清空联系人break;case 0://0.退出通讯录cout<<"欢迎下次使用"<<endl;return 0;break;default:break;}}system("pause");return 0;
}

6、添加联系人

//1、添加联系人(函数实现)
void addPerson(struct Addressbooks *abs)
{//判断通讯录是否已满,如果满了就不再添加if(abs->m_size==MAX){cout<<"通讯录已满,无法添加"<<endl;return;}else{//姓名string name;cout<<"请输入姓名:"<<endl;cin>>name;abs->personArry[abs->m_size].m_name=name;//性别cout<<"请输入性别:"<<endl;cout<<"1---男"<<endl;cout<<"2---女"<<endl;int sex=0;while(true){cin>>sex;if(sex==1||sex==2){abs->personArry[abs->m_size].m_sex=sex;break;}cout<<"输入错误,请重新输入"<<endl;}//年龄cout<<"请输入年龄:"<<endl;int age=0;cin>>age;abs->personArry[abs->m_size].m_age=age;//电话cout<<"请输入联系电话:"<<endl;string phone;cin>>phone;abs->personArry[abs->m_size].m_phone=phone;//住址cout <<"请输入家庭住址:"<<endl;string add;cin>>add;abs->personArry[abs->m_size].m_add=add;//更新通讯录人数abs->m_size++;cout<<"添加成功"<<endl;system("pause");//请按任意键继续system("cls");//清屏操作}
}

同时在main函数中调用该函数

 case 1://1.添加联系人addPerson(&abs);//利用地址传递,可以修饰实参break;

7、显示联系人

//2、显示所有联系人(函数实现)
void showPerson(struct Addressbooks *abs)
{if(abs->m_size==0){cout<<"当前记录为空"<<endl;}else{for(int i=0;i<abs->m_size;i++){cout<<"姓名:"<<abs->personArry[i].m_name<<"\t";cout<<"性别:"<<(abs->personArry[i].m_sex==1?"男":"女")<<"\t";cout<<"年龄:"<<abs->personArry[i].m_age<<"\t";cout<<"联系方式:"<<abs->personArry[i].m_phone<<"\t";cout<<"家庭地址:"<<abs->personArry[i].m_add<<endl;}}system("pause");system("cls");
}

同时在main函数中调用该函数

 case 2://2.显示联系人showPerson(&abs);break;

8、删除联系人

8-1.检测联系人是否存在

//3-1、检测联系人是否存在,如果存在,返回联系人所在数组中的具体位置,不存在返回-1
//参数1  通讯录  参数2  对比姓名
int isExist(struct Addressbooks *abs,string name)
{for(int i=0;i<abs->m_size;i++){//找到用户输入的姓名了if(abs->personArry[i].m_name==name){return i;//找到了,返回这个人在数组中的下标编号}}return -1;//如果遍历结束都没有找到,返回-1
}

在这里我们测试该函数是否正确,在main函数中调用该函数,因为代码比较多,用{}括起来,以免出错。

 case 3://3.删除联系人{cout<<"请输入删除联系人的姓名:"<<endl;string name;cin>>name;if(isExist(&abs,name)==-1){cout<<"查无此人"<<endl;}else{cout<<"找到此人"<<endl;}}break;

测试完直接注释掉或者删除这个代码就可以,只做测试用。

8-2.删除指定联系人

void deletePerson(struct 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->personArry[i]=abs->personArry[i+1];}abs->m_size--;//更新通讯录中的人员数cout<<"删除成功"<<endl;//提示联系人删除成功}else{cout<<"查无此人"<<endl;}system("pause");system("cls");
}

同时在main函数中调用该函数

 case 3://3.删除联系人deletePerson(&abs);break;

9、查找联系人

//4、查找联系人
void findPerson(struct Addressbooks *abs)
{cout<<"请输入您要查找的联系人"<<endl;string name;cin>>name;int ret=isExist(abs,name);if(ret!=-1)//找到联系人{cout<<"姓名:"<<abs->personArry[ret].m_name<<"\t";cout<<"性别:"<<(abs->personArry[ret].m_sex==1?"男":"女")<<"\t";cout<<"年龄:"<<abs->personArry[ret].m_age<<"\t";cout<<"联系方式:"<<abs->personArry[ret].m_phone<<"\t";cout<<"家庭地址:"<<abs->personArry[ret].m_add<<endl;}else//未找到{cout<<"查无此人"<<endl;}system("pause");system("cls");
}

同时在main函数中调用该函数

case 4://4.查找联系人findPerson(&abs);break;

10、修改联系人

//5、修改指定联系人信息
void modifyPerson(struct Addressbooks *abs)
{cout<<"请输入您要修改的联系人"<<endl;string name;cin>>name;int ret=isExist(abs,name);if(ret!=-1)//找到指定联系人{//姓名string name;cout<<"请输入姓名:"<<endl;cin>>name;abs->personArry[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->personArry[ret].m_sex=sex;break;}else{cout<<"输入有误,请重新输入"<<endl;}}//年龄cout<<"请输入年龄"<<endl;int age=0;cin>>age;abs->personArry[ret].m_age=age;//电话cout<<"请输入联系电话"<<endl;string phone;cin>>phone;abs->personArry[ret].m_phone=phone;//家庭住址cout<<"请输入家庭住址"<<endl;string add;cin>>add;abs->personArry[ret].m_add=add;cout<<"修改成功!"<<endl;}else//未找到联系人{cout<<"查无此人"<<endl;}system("pause");system("cls");
}

同时在main函数中调用该函数

 case 5://5.修改联系人modifyPerson(&abs);break;

11、清空联系人

//6、清空所有的联系人
void cleanPerson(struct Addressbooks *abs)
{abs->m_size=0;//将当前记录联系人数量置为0,做逻辑清空操作cout<<"通讯录已清空!"<<endl;system("pause");system("cls");
}

同时在main函数中调用该函数,并做一个提示功能

 case 6://6.清空联系人{cout<<"是否清空所有联系人"<<endl;//做一个提示功能cout<<"1---是"<<endl;cout<<"2---否"<<endl;int a;cin>>a;if(a==1)//确认删除cleanPerson(&abs);else//不删除,做清屏操作{system("pause");system("cls");}}break;

到这里,我们的通讯录管理系统的所有功能已经全部完成

整体代码

#include<iostream>
#include<string>
using namespace std;
#define MAX 1000
//设计联系人结构体
struct Person
{//姓名string m_name;//性别 1.男 2.女int m_sex;int m_age;string m_phone;string m_add;
};
//设计通讯录结构体
struct Addressbooks
{//保存联系人的数组struct Person personArry[MAX];//通讯录中当前记录联系人个数int m_size;
};
//1、添加联系人(函数实现)
void addPerson(struct Addressbooks *abs)
{//判断通讯录是否已满,如果满了就不再添加if(abs->m_size==MAX){cout<<"通讯录已满,无法添加"<<endl;return;}else{//姓名string name;cout<<"请输入姓名:"<<endl;cin>>name;abs->personArry[abs->m_size].m_name=name;//性别cout<<"请输入性别:"<<endl;cout<<"1---男"<<endl;cout<<"2---女"<<endl;int sex=0;while(true){cin>>sex;if(sex==1||sex==2){abs->personArry[abs->m_size].m_sex=sex;break;}cout<<"输入错误,请重新输入"<<endl;}//年龄cout<<"请输入年龄:"<<endl;int age=0;cin>>age;abs->personArry[abs->m_size].m_age=age;//电话cout<<"请输入联系电话:"<<endl;string phone;cin>>phone;abs->personArry[abs->m_size].m_phone=phone;//住址cout <<"请输入家庭住址:"<<endl;string add;cin>>add;abs->personArry[abs->m_size].m_add=add;//更新通讯录人数abs->m_size++;cout<<"添加成功"<<endl;system("pause");//请按任意键继续system("cls");//清屏操作}
}
//2、显示所有联系人(函数实现)
void showPerson(struct Addressbooks *abs)
{if(abs->m_size==0){cout<<"当前记录为空"<<endl;}else{for(int i=0;i<abs->m_size;i++){cout<<"姓名:"<<abs->personArry[i].m_name<<"\t";cout<<"性别:"<<(abs->personArry[i].m_sex==1?"男":"女")<<"\t";cout<<"年龄:"<<abs->personArry[i].m_age<<"\t";cout<<"联系方式:"<<abs->personArry[i].m_phone<<"\t";cout<<"家庭地址:"<<abs->personArry[i].m_add<<endl;}}system("pause");system("cls");
}
//3-1、检测联系人是否存在,如果存在,返回联系人所在数组中的具体位置,不存在返回-1
//参数1  通讯录  参数2  对比姓名
int isExist(struct Addressbooks *abs,string name)
{for(int i=0;i<abs->m_size;i++){//找到用户输入的姓名了if(abs->personArry[i].m_name==name){return i;//找到了,返回这个人在数组中的下标编号}}return -1;//如果遍历结束都没有找到,返回-1
}
//3-2、删除指定联系人
void deletePerson(struct 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->personArry[i]=abs->personArry[i+1];}abs->m_size--;//更新通讯录中的人员数cout<<"删除成功"<<endl;}else{cout<<"查无此人"<<endl;}system("pause");system("cls");
}
//4、查找联系人
void findPerson(struct Addressbooks *abs)
{cout<<"请输入您要查找的联系人"<<endl;string name;cin>>name;int ret=isExist(abs,name);if(ret!=-1)//找到联系人{cout<<"姓名:"<<abs->personArry[ret].m_name<<"\t";cout<<"性别:"<<(abs->personArry[ret].m_sex==1?"男":"女")<<"\t";cout<<"年龄:"<<abs->personArry[ret].m_age<<"\t";cout<<"联系方式:"<<abs->personArry[ret].m_phone<<"\t";cout<<"家庭地址:"<<abs->personArry[ret].m_add<<endl;}else//未找到{cout<<"查无此人"<<endl;}system("pause");system("cls");
}
//5、修改指定联系人信息
void modifyPerson(struct Addressbooks *abs)
{cout<<"请输入您要修改的联系人"<<endl;string name;cin>>name;int ret=isExist(abs,name);if(ret!=-1)//找到指定联系人{//姓名string name;cout<<"请输入姓名:"<<endl;cin>>name;abs->personArry[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->personArry[ret].m_sex=sex;break;}else{cout<<"输入有误,请重新输入"<<endl;}}//年龄cout<<"请输入年龄"<<endl;int age=0;cin>>age;abs->personArry[ret].m_age=age;//电话cout<<"请输入联系电话"<<endl;string phone;cin>>phone;abs->personArry[ret].m_phone=phone;//家庭住址cout<<"请输入家庭住址"<<endl;string add;cin>>add;abs->personArry[ret].m_add=add;cout<<"修改成功!"<<endl;}else//未找到联系人{cout<<"查无此人"<<endl;}system("pause");system("cls");
}
//6、清空所有的联系人
void cleanPerson(struct 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()
{//创建通讯录结构体变量struct Addressbooks abs;//初始化通讯录中当前人员个数abs.m_size=0;int select=0;while(true){//菜单调用showMenu();cin >>select;switch(select){case 1://1.添加联系人addPerson(&abs);//利用地址传递,可以修饰实参break;case 2://2.显示联系人showPerson(&abs);break;case 3://3.删除联系人deletePerson(&abs);break;case 4://4.查找联系人findPerson(&abs);break;case 5://5.修改联系人modifyPerson(&abs);break;case 6://6.清空联系人{cout<<"是否清空所有联系人"<<endl;//做一个提示功能cout<<"1---是"<<endl;cout<<"2---否"<<endl;int a;cin>>a;if(a==1)//确认删除cleanPerson(&abs);else//不删除,做清屏操作{system("pause");system("cls");}}break;case 0://0.退出通讯录cout<<"欢迎下次使用"<<endl;return 0;break;default:break;}}system("pause");return 0;
}

如有错误大家积极指正

请添加图片描述

http://www.lbrq.cn/news/1286353.html

相关文章:

  • 公司网站后台打不开/seo优化快速排名技术
  • 有关做粪污处理设备的企业网站/商业网站
  • 莞城做网站/百度关键词推广方案
  • 网站建设是由什么组成的/域名查询138ip
  • 免费网页模板之家/网站排名优化多少钱
  • 国外优秀的html5网站/seo平台优化
  • 海报制作app/seo课程哪个好
  • 建立网站流程图/专业培训心得体会
  • 怎么注册一个小公司/宁波企业seo推广
  • 广东科技网站建设/怎么做外链
  • 高端网站建设系统规划/武汉全网营销推广公司
  • 恩施公司做网站/百度网站推广
  • 代做网站收费标准/佛山全市核酸检测
  • 网站建设介绍文字/谷歌浏览器直接打开
  • 专门做logo的网站/谷歌浏览器怎么下载
  • 网站做常规优化/百度快照优化
  • 免费php开源建站系统/爱站网关键词长尾挖掘工具
  • 做什网站推广真实有效/西安网站快速排名提升
  • 品牌网站建设报价方案/百度产品有哪些
  • 湘潭网站建设/做网站需要什么技术
  • 高级服装定制网站/百度地图推广怎么做的
  • 绍兴网站开发/网址百度刷排名
  • 电子商务网站经营性icp/bt磁力链好用的引擎
  • 网站备案有用/目前好的推广平台
  • 做阿里渠道的销售要有哪些网站/小红书seo是什么意思
  • 做政府门户网站建设/东莞网络排名优化
  • 商商业网站建设/企业网站推广可以选择哪些方法
  • 西安有哪些做网站建设的公司/青岛新闻最新今日头条
  • 网站制作的设备环境/网站服务器查询工具
  • 常州网络公司客户服务/seo全网营销
  • 多模态大模型与 AI 落地:从技术原理到实践路径的深度解析
  • 框架式3D打印机结构设计cad【9张】三维图+设计说明书
  • 7月26日星期六今日早报简报微语报早读
  • 容器化成本优化:K8s资源请求与限制的黄金法则——从资源画像分析到25%成本削减的实战指南
  • Android Ntp系统校时流程
  • C++ 多线程同步机制详解:互斥锁、条件变量与原子操作