IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++通讯录管理系统 -> 正文阅读

[C++知识库]C++通讯录管理系统

系统功能介绍

功能描述:建立一个通讯录管理系统,能够让用户实现增删改查的功能。效果图如下。
通讯录管理系统效果图

菜单功能函数

功能描述:用户选择系统功能的界面。

//显示菜单
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;
}

退出系统功能实现

功能描述:退出通讯录管理系统。这里使用的是while和switch循环结构,当用户输入0时,退出该系统。

	//select记录用户选择的编号
	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;
		default:
			break;
		}
	}

添加联系人功能实现

功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括(姓名、性别、年龄、联系电话、家庭住址)。

#define MAX 1000
//联系人结构体
struct Person {
	string m_Name;
	int m_Sex;     //性别  1男  2女
	int m_Age;
	string m_Phone;
	string m_Address;
};
//通讯录结构体
struct AddressBooks {
	struct Person personArray[MAX];       //通讯录保存人员信息的数组,使用宏常量定义通讯录最大人数上限1000,方便日后修改人数
	int m_Size;  //当前通讯录内人员个数
};

//1、添加联系人
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 << "请输入联系人性别:" << endl;
		cout << "1为男性,2为女性" << endl;
		int sex = 0;
		while (true) {
			cin >> sex;
			if (sex == 1 || sex == 2) {    //如果为正常的性别,即打断跳出while循环
				abs->personArray[abs->m_Size].m_Sex = sex;
				break;
			}
			else {        //输入有误需要重新输入,直到输入正确即可跳出while循环
				cout << "性别序号输入有误,请重新输入!" << endl;
			}
		}
		//添加年龄
		cout << "请输入联系人年龄:" << endl;
		int age = 0;
		while (true) {
			cin >> age;
			if (age > 0 && age < 150) {   //判断联系人年龄是否合理
				abs->personArray[abs->m_Size].m_Age = age;
				break;
			}
			else {        //直到输入正确年龄即可跳出while循环
				cout << "年龄输入有误,请重新输入!" << endl;
			}
		}
		//添加电话
		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_Address = address;
		//更新通讯录人数
		abs->m_Size++;
		//提示用户已添加成功
		cout << "联系人已添加成功!" << endl;
		//清屏操作,防止数据在界面上显示过多
		system("pause");     //请按任意键继续
		system("cls");       //清屏操作
	}
}

显示联系人函数

功能描述:显示通讯录中已经添加的人员信息。

//2、显示联系人信息
void showPerson(struct AddressBooks *abs) {
	if(abs->m_Size == 0) {    //判断通讯录中人数是否为空
		cout << "通讯录中没有存储联系人!" << endl;
	}
	else { //若通讯录不为空,通过for循环对通讯录进行打印输出
		for (int i = 0; i < abs->m_Size; i++) {
				cout << "姓名:" << abs->personArray[i].m_Name << "  性别:" << (abs->personArray[i].m_Sex == 1?"男":"女" )//通过三目运算符判断男女
				<< "  年龄:" << abs->personArray[i].m_Age <<"  电话:" << abs->personArray[i].m_Phone << "  住址:" << abs->personArray[i].m_Address << endl;
		}
	}
	system("pause");    //按任意键继续
	system("cls");     //显示完毕后进行一个清屏的操作
}

删除联系人函数

查找联系人函数

修改联系人函数

清空通讯录函数

通讯录管理系统完整代码

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:08:07  更:2021-11-29 16:09:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:03:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码