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

设计师联盟官网效果图seo网站优化流程

设计师联盟官网效果图,seo网站优化流程,网站建设 国外,网站上的平台专做店铺推广靠谱吗目录 系统需求 1、 创建项目 2、 菜单功能设计 3、 退出功能设计 4、 添加联系人功能设计 4.1 设计联系人结构体 4.2 设计通讯录结构体 4.3 在main函数中创建通讯录 4.4 封装添加联系人函数 4.5 添加联系人功能测试 5、 显示联系人功能设计 5.1 封装显示…

目录

系统需求

1、  创建项目

2、  菜单功能设计

3、  退出功能设计

4、  添加联系人功能设计

4.1  设计联系人结构体

4.2  设计通讯录结构体

4.3  在main函数中创建通讯录

4.4  封装添加联系人函数

4.5  添加联系人功能测试

5、  显示联系人功能设计

5.1  封装显示联系人函数

5.2  测试显示联系人功能

6、  删除联系人功能设计

6.1  封装检测联系人

6.2  联系人删除功能测试

7、 查找联系人功能设计

7.1  封装查找联系人函数

7.2  查找联系人功能测试

8、  修改联系人功能设计

8.1  封装修改联系人函数

8.2  修改联系人功能测试

9、  清空联系人

9.1  封装清空联系人函数

9.2  清空联系人功能测试

小结


系统需求

系统中需要实现的功能如下:

添加联系人:向通讯录中添加新人,信息包括(姓名、性别,年龄、联系电话、家庭住址)最多记录1000人

显示联系人:显示通讯录中所有联系人信息

删除联系人:按照姓名进行删除指定联系人

查找联系人:按照姓名查看指定联系人信息

修改联系人:按照姓名重新修改指定联系人

清空联系人:清空通讯录中所有信息

退出通讯录:退出当前使用的通讯录

1、  创建项目

创建一个“通信录管理系统.cpp”的项目文件,如下:

2、  菜单功能设计

封装函数显示菜单界面,如:void showMenu();

在main函数中调用封装好的函数

showMenu.h文件

#include<iostream>
using namespace std;void showMenu();

showMenu.cpp文件

#include"showMenu.h"//菜单界面
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;
}

运行结果:

3、  退出功能设计

功能描述:退出通讯录系统

通过switch语句进行菜单模式的选择,本步骤只完成退出功能的设计。

通过while()循环语句,进行菜单操作,只有当输入0时,执行退出操作。

main函数部分代码:

//创建用户输入的变量int select = 0;while (true){//菜单showMenu();cin >> select;switch (select){//添加联系人case 1:break;//显示联系人case 2:break;//删除联系人case 3:break;//查找联系人case 4:break;//修改联系人 case 5:break;//清空联系人case 6:break;//退出当前使用的通讯录case 0:cout << "欢迎下次使用" << endl;system("pause");return 0;break;}}	

此时运行结果:

4、  添加联系人功能设计

功能描述:向通讯录中添加新人,信息包括(姓名、性别,年龄、联系电话、家庭住址)最多记录1000人

4.1  设计联系人结构体

//设计联系人结构体
struct Person
{//姓名string m_Name;//性别 1男 2女int m_Sex;//年龄int m_Age;//电话string m_Phone;//住址string m_Addr;
};

4.2  设计通讯录结构体

//设计通讯录结构体
struct Addressbooks
{//通讯录中保存的联系人struct Person personArray[MAX];//通讯录当前记录联系人个数int m_Size;
};

4.3  在main函数中创建通讯录

			//添加联系人case 1:addPerson(&abs);
//创建通讯录的结构体变量Addressbooks abs;
//初始化通讯录当前人员个数abs.m_Size = 0;
//创建用户输入的变量int select = 0;

4.4  封装添加联系人函数

addPerson.cpp:

#include"addPerson.h"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;//性别 1男 2女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;}
}

addPerson.h:

#include<iostream>
using namespace std;
#include<string>
#include<stdlib.h>
#define MAX 1000//设计联系人结构体
struct Person
{//姓名string m_Name;//性别 1男 2女int m_Sex;//年龄int m_Age;//电话string m_Phone;//住址string m_Addr;
};//设计通讯录结构体
struct Addressbooks
{//通讯录中保存的联系人struct Person personArray[MAX];//通讯录当前记录联系人个数int m_Size;
};void addPerson(Addressbooks* abs);

4.5  添加联系人功能测试

运行结果:

5、  显示联系人功能设计

功能描述:显示通讯录中已有联系人信息

5.1  封装显示联系人函数

        判断当前通讯录中有无添加联系人,若联系人未0,则提醒添加联系人,若不为零,则显示通讯录的信息。

main函数部分代码:

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

addPerson.h中添加的代码:

void showPerson(Addressbooks* abs);

showPerson.cpp:

#include"addPerson.h"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");//清屏
}

5.2  测试显示联系人功能

运行结果:

6、  删除联系人功能设计

功能描述:按照姓名进行删除指定联系人

6.1  封装检测联系人

        在进行联系人删除前,我们应当先检测到所要删除的联系人是否存在,若存在则删除,不存在提示用户没有要删除的联系人。

main函数部分代码:

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

addPerson.h中添加的代码:

void deletePerson(Addressbooks* abs);

deletePerson.cpp:

#include"addPerson.h"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
}void deletePerson(Addressbooks* abs)
{cout << "请输入您要删除的联系人" << endl;string name;cin >> name;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");
}

6.2  联系人删除功能测试

添加一个联系人,对其进行显示:

对查找的联系人,进行删除操作:

在此删除显示:

7、 查找联系人功能设计

功能描述:按照姓名查找制定联系人姓名

7.1  封装查找联系人函数

思路:判断用户联系人是否存在。如果存在显示信息,不存在提示查无此人。

main函数部分代码:

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

addPerson.h中添加的代码:

void findPerson(Addressbooks* abs);

findPerson.cpp:

#include"addPerson.h"//查找联系人
int isExist2(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
}void findPerson(Addressbooks* abs)
{cout << "请输入您要查找的联系人" << endl;string name;cin >> name;int ret = isExist2(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");}

7.2  查找联系人功能测试

代码示例:

        需要注意一点是,查找和显示不相同,查找功能是对所输入的姓名进行显示,而显示功能是对所有联系人信息进行显示,如下:

8、  修改联系人功能设计

功能描述:按照姓名重新修改联系人

8.1  封装修改联系人函数

实现思路:查找用户输入的联系人,如果查找成功进行修改操作,查找失败提示查无此人。

main函数部分代码:

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

addPerson.h中添加的代码:

//修改联系人
int modifyPerson(Addressbooks* abs);

findPerson.cpp:

#include"addPerson.h"int isExist3(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
}//修改联系人
int modifyPerson(Addressbooks* abs)
{cout << "请输入您要修改的联系人" << endl;string name;cin >> name;int ret = isExist3(abs, name);if (ret != -1){int cz = 0;while (true){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;cout << "请输入您要修改的内容:" << endl<< "1代表姓名" << endl<< "2代表性别" << endl<< "3代表年龄" << endl<< "4代表电话" << endl<< "5代表住址" << endl<< "0代表退出" << endl;cin >> cz;switch (cz){case 1:{//姓名string nam;cout << "请输入姓名:" << endl;cin >> nam;abs->personArray[ret].m_Name = nam;break;}case 2:{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 << "输入有误,请重新输入";}break;}case 3://删除联系人{//年龄cout << "请输入年龄:" << endl;int age = 0;cin >> age;abs->personArray[ret].m_Age = age;break;}case 4://查找联系人{//联系电话cout << "请输入联系电话:" << endl;string phone = "";cin >> phone;abs->personArray[ret].m_Phone = phone;break;}case 5:{//家庭住址cout << "请输入家庭住址:" << endl;string address;cin >> address;abs->personArray[ret].m_Addr = address;break;}case 0:cout << "退出修改" << endl;system("pause");system("cls");return 0;break;default:break;}}}else{cout << "查无此人" << endl;}system("pause");system("cls");
}

8.2  修改联系人功能测试

运行结果:

先添加一个联系人,进行显示,如下:

对其进行修改,本次修改的为性别,修改后“张三”性别已经修改,如下:

9、  清空联系人

功能描述:清空通讯录中所有信息

9.1  封装清空联系人函数

只要将通讯录记录的联系人数量置为0,即可。

main函数部分代码:

//清空联系人case 6:cleanPerson(&abs);break;

addPerson.h中添加的代码:

//清空联系人信息
void cleanPerson(Addressbooks* abs);

cleanPerson.cpp:

#include"addPerson.h"//清空联系人信息
void cleanPerson(Addressbooks* abs)
{abs->m_Size = 0;//将通讯录中数量大小直接置为0,我们便无法访问,//不用繁琐的挨个删除,也方便恢复数据cout << "通讯录已清空" << endl;system("pause");system("cls");}

9.2  清空联系人功能测试

运行结果:

先创建两个联系人,如下:

对其进行删除:

在此查看:

小结

        终于做完了,上面由于一步步添加main.cpp函数和addPerson.h函数,所以都是代码片段,下面把main.cpp函数和addPerson.h函数,完整版代码发出来。

main.cpp:

#include<iostream>
using namespace std;
#include"showMenu.h"
#include<string>
#include"addPerson.h"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;}}	system("pause");return 0;
}

addPerson.h:

#include<iostream>
using namespace std;
#include<string>
#include<stdlib.h>
#define MAX 1000//设计联系人结构体
struct Person
{//姓名string m_Name;//性别 1男 2女int m_Sex;//年龄int m_Age;//电话string m_Phone;//住址string m_Addr;
};//设计通讯录结构体
struct Addressbooks
{//通讯录中保存的联系人struct Person personArray[MAX];//通讯录当前记录联系人个数int m_Size;
};//添加联系人信息
void addPerson(Addressbooks* abs);//添加联系人
void showPerson(Addressbooks* abs);//删除联系人
void deletePerson(Addressbooks* abs);//查找联系人
void findPerson(Addressbooks* abs);//修改联系人
int modifyPerson(Addressbooks* abs);//清空联系人信息
void cleanPerson(Addressbooks* abs);

        运行结果就是每一步的运行结果,在这里就不进行重复演示了。

整个压缩包放在最下面了

C++通讯录管理系统设计资源-CSDN文库


文章转载自:
http://bairn.wjrq.cn
http://legalization.wjrq.cn
http://undercount.wjrq.cn
http://beau.wjrq.cn
http://snakemouth.wjrq.cn
http://semple.wjrq.cn
http://fabulosity.wjrq.cn
http://domiciliation.wjrq.cn
http://treasonous.wjrq.cn
http://indoctrinate.wjrq.cn
http://nonvoter.wjrq.cn
http://limbed.wjrq.cn
http://clarinetist.wjrq.cn
http://flabbiness.wjrq.cn
http://thallic.wjrq.cn
http://presanctified.wjrq.cn
http://mandible.wjrq.cn
http://gildhall.wjrq.cn
http://salvy.wjrq.cn
http://mastika.wjrq.cn
http://postrider.wjrq.cn
http://thoughtless.wjrq.cn
http://pneumatology.wjrq.cn
http://roentgenopaque.wjrq.cn
http://submissive.wjrq.cn
http://unriddle.wjrq.cn
http://epigraphic.wjrq.cn
http://exasperation.wjrq.cn
http://apronful.wjrq.cn
http://empathy.wjrq.cn
http://deadline.wjrq.cn
http://longitude.wjrq.cn
http://proportionately.wjrq.cn
http://maintop.wjrq.cn
http://creditability.wjrq.cn
http://complexionless.wjrq.cn
http://utilizable.wjrq.cn
http://rideau.wjrq.cn
http://lout.wjrq.cn
http://knickknackery.wjrq.cn
http://inhibited.wjrq.cn
http://singleness.wjrq.cn
http://syndactylus.wjrq.cn
http://benignantly.wjrq.cn
http://uncommercial.wjrq.cn
http://dimply.wjrq.cn
http://technica.wjrq.cn
http://hedgehog.wjrq.cn
http://mortgager.wjrq.cn
http://morgen.wjrq.cn
http://swayback.wjrq.cn
http://torchon.wjrq.cn
http://unbowed.wjrq.cn
http://bromid.wjrq.cn
http://shrewsbury.wjrq.cn
http://casualization.wjrq.cn
http://studded.wjrq.cn
http://earlap.wjrq.cn
http://observably.wjrq.cn
http://cataphoresis.wjrq.cn
http://femality.wjrq.cn
http://chemiluminescnet.wjrq.cn
http://quizzery.wjrq.cn
http://synergamy.wjrq.cn
http://ichthyology.wjrq.cn
http://unfastidious.wjrq.cn
http://phragmoplast.wjrq.cn
http://total.wjrq.cn
http://fiddlestick.wjrq.cn
http://suboceanic.wjrq.cn
http://linear.wjrq.cn
http://coaxal.wjrq.cn
http://moneybags.wjrq.cn
http://nanning.wjrq.cn
http://mentawai.wjrq.cn
http://perispomenon.wjrq.cn
http://resorptive.wjrq.cn
http://unsoldierly.wjrq.cn
http://macronucleus.wjrq.cn
http://clyster.wjrq.cn
http://fimbriate.wjrq.cn
http://androgynous.wjrq.cn
http://supplicatingly.wjrq.cn
http://chanciness.wjrq.cn
http://offhanded.wjrq.cn
http://pierage.wjrq.cn
http://thence.wjrq.cn
http://minicar.wjrq.cn
http://hagioscope.wjrq.cn
http://uncommunicable.wjrq.cn
http://cicatrize.wjrq.cn
http://nabulus.wjrq.cn
http://spiky.wjrq.cn
http://thomasina.wjrq.cn
http://eigenvector.wjrq.cn
http://dickens.wjrq.cn
http://rhythmed.wjrq.cn
http://fox.wjrq.cn
http://natalist.wjrq.cn
http://dysteleological.wjrq.cn
http://www.hrbkazy.com/news/88614.html

相关文章:

  • wordpress注册表文件搜索关键词优化
  • 南宁 做网站如何进行网络营销推广
  • 建网站手机怎么做新闻危机公关
  • 网站开发与维护视频seo快速优化方法
  • 网站建设都包括在运营中seo是什么意思
  • 成都网站创建公司网站建设教程
  • 做暖暖视频免费观看免费网站淘宝关键词优化技巧教程
  • 黄石百度做网站多少钱深圳龙岗区布吉街道
  • 日本图形设计网站天津seo建站
  • 绩效评估评价网站建设网盘资源大全
  • 定位网站关键词宁波江北区网站推广联系方式
  • 做网站销售水果怎么把自己的网站发布到网上
  • 网站建设及政务工作自查google搜索引擎入口google
  • 怎样做企业的网站搜外网友情链接
  • wordpress 火车头seo推广系统
  • 云南省建设厅网站 农民工nba最新交易动态
  • 怎么给网站做备案进入百度一下官网
  • 网站建设开发费入什么科目郑州seo顾问阿亮
  • 网站排名消失百度识图软件
  • 现在海外做的比较好一点的网站百度竞价外包
  • 酒店招聘做的好的网站可以引流推广的app
  • 海南做网站找谁腰椎间盘突出压迫神经腿疼怎么治
  • 网站开发经典外贸网站建设
  • 国外最大的设计网站如何找客户资源
  • 请人建网站需要多少钱seo确定关键词
  • 郑州做旅游网站的公司免费建网站的步骤
  • 微信微网站是什么情况软文广告100字
  • 山东济宁做网站的公司西安百度推广竞价托管
  • 营销型网站建设微博小广告网页
  • 微信公众号 手机网站竞价推广价格