# C语言之实现通讯录 **Repository Path**: ldl-stars/contact ## Basic Information - **Project Name**: C语言之实现通讯录 - **Description**: 通讯录具有添加、删除、查看、修改、排序、打印、清空联系人的功能。 通讯录自动动态分配内存实现扩容,合理利用内容空间。 通讯录具有记忆功能,程序运行结束后数据不会丢失。 - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-05-08 - **Last Updated**: 2023-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C语言之实现通讯录 #### 介绍 通讯录具有添加、删除、查看、修改、排序、打印、清空联系人的功能。 通讯录自动动态分配内存实现扩容,合理利用内容空间。 通讯录具有记忆功能,程序运行结束后数据不会丢失。 #### 开发语言 C语言 #### 开发环境 Visual Studio 2019 #### 设计框架 | | 1、添加联系人 | | 添加之前检查通讯录容量是否足够,不够则扩容 | | 知识:realloc函数的使用 | | | |----|--------------|---|------------------------------------------|---|-------------------------------|---|---| | | 2、删除联系人 | | 删除之前需要查找有没有这个联系人,以及通讯录是否为空 | | | | | | | 3、查找指定联系人 | | 同上 | | | | | | | 4、修改指定联系人 | | 同上 | | | | | | **框架** | 5、以名字排序所有联系人 | | 也可以按照性别、年龄、电话、住址的形式进行排序 | | 知识:函数指针的使用,void*的理解,以及强制转换的使用 | | | | | 6、打印联系人的信息 | | 为了避免在打印信息的过程中不小心改变了联系人的信息,所以建议使用关键字const | | 知识:const的使用 | | | | | 7、清空通讯录 | | | | | | | | | 8、初始化 | | 在进行以上操作之前需要将通讯录文件的数据加载到内存中 | | 知识:fread | | | | | 9、退出 | | 在退出程序之前将联系人的信息保存到磁盘文件中,另外切记销毁通讯录 | | 知识:fwrite, free | | | | | | | | | | | | #### 测试结果 1. 添加 ![输入图片说明](picture/add.png) 2. 删除 ![输入图片说明](picture/delete.png) 3. 查看 ![输入图片说明](picture/search.png) 4. 修改 ![输入图片说明](picture/modify.png) 5. 排序、打印 ![输入图片说明](picture/sort.png) 6. 将磁盘文件数据加载到内容中,清空 ![输入图片说明](picture/clear.png) 7. 将联系人信息保存到磁盘文件中 ![输入图片说明](picture/txt.png)