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

网站后台模板 免费为企业做贡献的文章

网站后台模板 免费,为企业做贡献的文章,wordpress跟换域名图片不显示,北京游戏软件开发公司一、系统概述 通讯录管理系统是一个常见的个人信息管理工具,能够帮助用户高效地管理联系人信息。本文将介绍一个基于控制台的通讯录管理系统,并提供C和Python两种实现版本。 二、核心功能 添加联系人:保存姓名、性别、年龄、电话、住址等信…

一、系统概述

通讯录管理系统是一个常见的个人信息管理工具,能够帮助用户高效地管理联系人信息。本文将介绍一个基于控制台的通讯录管理系统,并提供C++和Python两种实现版本。

二、核心功能

  1. 添加联系人:保存姓名、性别、年龄、电话、住址等信息

  2. 显示联系人:展示所有联系人信息

  3. 删除联系人:按姓名删除指定联系人

  4. 查找联系人:按姓名查找并显示联系人详情

  5. 修改联系人:按姓名查找并修改联系人信息

  6. 清空通讯录:一键删除所有联系人

三、C++实现

1. 数据结构设计

#define MAX 1000struct Person {string m_name;int m_Sex;int m_Age;string m_Phone;string m_Addr;
};struct Addressbooks {Person personArray[MAX];int m_Size;
};

2. 核心功能实现

添加联系人
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;cout << "请输入性别(1-男, 2-女):" << endl;cin >> abs->personArray[abs->m_Size].m_Sex;cout << "请输入年龄:" << endl;cin >> abs->personArray[abs->m_Size].m_Age;cout << "请输入联系电话:" << endl;cin >> abs->personArray[abs->m_Size].m_Phone;cout << "请输入家庭地址:" << endl;cin >> abs->personArray[abs->m_Size].m_Addr;abs->m_Size++; // 更新通讯录中人员个数cout << "添加成功!" << endl;}}

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

删除联系人

//检测联系人是否存在,如果存在,返回联系人所在数组中的具体位置,不存在返回-1
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;
}
//删除联系人
void deletePerson(Addressbooks * abs)
{cout<<"请选择您要删除的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(abs,name);if(ret!=-1){//进行删除操作(如果要删除李四,把李四后面的数据前移,并且让通讯录中记录人员个数-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;}
}

查找联系人

void findPerson(Addressbooks * abs)
{cout<<"请选择您要查找的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(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;}
}

修改联系人

void modifyPerson(Addressbooks * abs)
{cout<<"请选择您要修改的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(abs,name);if(ret!=-1){string name;cout<<"请重新输入姓名:"<<endl;cin>>name;abs->personArray[ret].m_name=name;int sex=0;cout << "请重新输入性别(1-男, 2-女):" << endl;while(true){cin >> sex;if(sex==1||sex==2){abs->personArray[ret].m_Sex==sex;break;}}int age=0;cout<<"请重新输入年龄:"<<endl;cin>>age;abs->personArray[ret].m_Age=age;string phone;cout<<"请重新输入电话号码"<<endl;cin>>phone;abs->personArray[ret].m_Phone=phone;string address;cout<<"请重新输入家庭住址"<<endl;cin>>address;abs->personArray[ret].m_Addr=address;        cout<<"修改成功"<<endl;}else{cout<<"查无此人"<<endl;}
}

清空联系人

void cleanPerson(Addressbooks * abs)
{abs->m_Size=0;cout<<"通讯录已清空"<<endl;
}

主程序

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;default:break;}}system("pause");return 0;
}

四、完整代码

#include <iostream>
using namespace std;
#include <string.h>
#define MAX 1000
//菜单界面
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;
}
struct Person
{/* data */string m_name;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)
{if(abs->m_Size==MAX){cout<<"通讯录已满"<<endl;return;}else{string name;cout << "请输入一个姓名:" << endl;cin >> name;abs->personArray[abs->m_Size].m_name = name;cout << "请输入性别(1-男, 2-女):" << endl;cin >> abs->personArray[abs->m_Size].m_Sex;cout << "请输入年龄:" << endl;cin >> abs->personArray[abs->m_Size].m_Age;cout << "请输入联系电话:" << endl;cin >> abs->personArray[abs->m_Size].m_Phone;cout << "请输入家庭地址:" << endl;cin >> abs->personArray[abs->m_Size].m_Addr;abs->m_Size++; // 更新通讯录中人员个数cout << "添加成功!" << endl;}}
void showPerson(struct Addressbooks * abs)
{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;}}
}
//检测联系人是否存在,如果存在,返回联系人所在数组中的具体位置,不存在返回-1
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;
}
//删除联系人
void deletePerson(Addressbooks * abs)
{cout<<"请选择您要删除的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(abs,name);if(ret!=-1){//进行删除操作(如果要删除李四,把李四后面的数据前移,并且让通讯录中记录人员个数-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;}
}
//查找联系人
void findPerson(Addressbooks * abs)
{cout<<"请选择您要查找的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(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;}
}
//修改联系人
void modifyPerson(Addressbooks * abs)
{cout<<"请选择您要修改的联系人"<<endl;string name;cin>>name;//ret==-1未查询到;!=-1表示查到int ret=isExist(abs,name);if(ret!=-1){string name;cout<<"请重新输入姓名:"<<endl;cin>>name;abs->personArray[ret].m_name=name;int sex=0;cout << "请重新输入性别(1-男, 2-女):" << endl;while(true){cin >> sex;if(sex==1||sex==2){abs->personArray[ret].m_Sex==sex;break;}}int age=0;cout<<"请重新输入年龄:"<<endl;cin>>age;abs->personArray[ret].m_Age=age;string phone;cout<<"请重新输入电话号码"<<endl;cin>>phone;abs->personArray[ret].m_Phone=phone;string address;cout<<"请重新输入家庭住址"<<endl;cin>>address;abs->personArray[ret].m_Addr=address;        cout<<"修改成功"<<endl;}else{cout<<"查无此人"<<endl;}
}
//清空联系人
void cleanPerson(Addressbooks * abs)
{abs->m_Size=0;cout<<"通讯录已清空"<<endl;
}
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;default:break;}}system("pause");return 0;
}

五、系统特色

  1. 简洁高效:基于控制台操作,响应迅速

  2. 数据持久化(可扩展):当前版本为内存存储,可轻松扩展为文件/数据库存储

  3. 跨平台:无需安装额外依赖,可在各种平台运行

  4. 双语言实现:提供C++和Python两种版本,适合不同学习需求

六、扩展建议

  1. 数据持久化:添加文件存储功能,使数据在程序关闭后不丢失

  2. 批量导入导出:支持CSV/Excel格式的联系人导入导出

  3. 多条件查询:支持按年龄、性别等多条件组合查询

  4. 分组管理:支持家庭、朋友、同事等分组管理


文章转载自:

http://tDv2I1Fd.bpmft.cn
http://2ihg8Bud.bpmft.cn
http://kSQbPn1Q.bpmft.cn
http://qDP11BGs.bpmft.cn
http://3htqZDoO.bpmft.cn
http://AwqSruwi.bpmft.cn
http://P36pRZrm.bpmft.cn
http://BwCKBy5J.bpmft.cn
http://7dVm8lQl.bpmft.cn
http://Vv6gwJnb.bpmft.cn
http://FRnZKkZZ.bpmft.cn
http://ezgIuYGx.bpmft.cn
http://UKlShQfu.bpmft.cn
http://OUmETj8q.bpmft.cn
http://tznunQCN.bpmft.cn
http://Y46Wgn5u.bpmft.cn
http://xmmOCvF7.bpmft.cn
http://GZ1BRV1F.bpmft.cn
http://7oZvHfHn.bpmft.cn
http://mqlSYwzc.bpmft.cn
http://4qlJVgSk.bpmft.cn
http://4HGdsNpK.bpmft.cn
http://KGMNvyFG.bpmft.cn
http://UwOEQVPq.bpmft.cn
http://wtILi8vG.bpmft.cn
http://w8QZtWMz.bpmft.cn
http://mrX1X9cV.bpmft.cn
http://1Dkhb8jZ.bpmft.cn
http://YZEeHr3x.bpmft.cn
http://AqcaHDOo.bpmft.cn
http://www.dtcms.com/wzjs/729321.html

相关文章:

  • 做网站一般都选哪家拥有自己的网站 如何做推广
  • 定制类网站seo怎么去优化
  • 做棋牌网站多少钱做购物比价的网站有哪些
  • 开发工程师网站开发工程师招聘广告设计素材库
  • 怎么给公司注册网站免费的外网连接器
  • 北京欢迎你网站建设制作二维码软件
  • 深圳龙华观澜网站建设公司韶关做网站公司
  • 中英文双语的网站怎么建设360度全景地图
  • 太原网站建设随州电商网站建设题库
  • 网页设计与网站建设教程企业网站排名提升软件能优化
  • 专门做教育咨询有限公司网站搜索引擎优化的对比
  • 北京公司请做网站工资网页游戏传奇合击
  • 网站自然排名往后掉网络科技网站设计
  • 网站建设 微信开发网页设计与网站建设试题
  • 58南浔做网站视频剪辑培训机构哪个好
  • 做百科网站体验营销
  • 企业网站建设方案价位全球速卖通卖家注册
  • 怎么在网站底部添加备案号做小说网站做国外域名还是国内的好
  • 你建立的网站使用了那些营销方法前端网页模板
  • 上网站建设公司鲜花网站建设的目标
  • 国外设计网站app吗怎样让客户做网站
  • 做淘宝客网站挣钱网站规划设计
  • 北京赛车网站开发公司工业设计属于什么专业类别
  • 学习做网站免费网站模版
  • 网站开发合同注意事项1元网站建设精品网站制作
  • 泰州网站制作张店网站建设定制
  • vps看网站蜘蛛唐山市住房城乡建设部网站主页
  • 网站开发所需配置威海高端网站建设
  • 企业网站尺寸网站建设费的摊销
  • 办公家具网站建设公司湛江人才网招聘信息网