C++编程:实现简易文本通讯录系统
5星 · 超过95%的资源 需积分: 10 37 浏览量
更新于2024-09-12
收藏 5KB TXT 举报
"C++实现的简单通讯录是一个利用查找算法管理个人联系信息的应用程序,以文本文件格式存储。该程序包含一个`ContactInfor`类用于存储姓名、电话号码和电子邮件,以及一个`ContactList`类来管理多个联系人记录。通过`getKey()`方法实现了基于名字的哈希功能,以便于查询。此外,还有添加、删除、更新、按名字模糊搜索和哈希搜索等操作。"
在C++实现的这个简单通讯录中,有两个关键类:
1. **`ContactInfor`类**:
- `ContactInfor`类是用来表示单个联系人的信息,包括`name`(姓名),`phoneNum`(电话号码)和`email`(电子邮件)三个属性。
- 构造函数允许创建新的联系人对象,并初始化这些属性。
- `getKey()`方法计算名字的哈希值,这是为了简化基于名字的搜索操作。它将名字中的每个字符转换为其ASCII值并累加,得到一个整数作为键。
- 拷贝构造函数确保了当对象被复制时,所有属性都能正确地被复制。
2. **`ContactList`类**:
- `ContactList`类用于管理一组联系人记录,包含一个大小为20的`ContactInfor`对象数组`ArrayList`和一个`count`变量,表示当前已存储的联系人数量。
- 类中定义了多个成员函数来操作联系人列表:
- `addContact()`:向列表中添加一个新的联系人,如果数组已满,则提示无法添加。
- `delContact()`:根据提供的名字删除一个联系人。
- `updateContact()`:更新一个已存在的联系人的信息,需要提供名字。
- `blockQuery()`:实现模糊查询,根据提供的名字字符串来搜索包含该字符串的联系人。
- `hashQuery()`:使用哈希值进行快速查找,基于名字的首字母或子串。
- `print()`:打印所有的联系人信息。
这个简单的通讯录系统虽然功能有限,但它展示了如何在C++中使用类和基本数据结构来实现一个小型的应用程序。它包含了数据封装、对象创建、方法调用以及一些基本的算法(如哈希查找)的使用。这对于学习C++编程和理解面向对象设计原则的人来说是一个很好的实践项目。
2009-06-23 上传
2020-12-17 上传
2020-12-23 上传
点击了解资源详情
2022-02-09 上传
点击了解资源详情
点击了解资源详情
Hound1211
- 粉丝: 28
- 资源: 5
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器