C语言实现的通讯录管理系统

需积分: 14 0 下载量 133 浏览量 更新于2024-09-05 收藏 16KB TXT 举报
"c语言通讯录实现.txt" 是一个C语言编程实例,它演示了如何创建一个简单的通讯录管理系统,支持添加、修改、删除和查询联系人信息。这个程序使用结构体来存储联系人的详细信息,如编号、姓名、性别、电话、QQ号码和地址,并通过文件操作来持久化数据。程序提供了用户友好的交互式菜单,方便用户进行各种操作。 在程序设计中,首先包含了`stdio.h`、`string.h`和`stdlib.h`这三个标准库头文件。`stdio.h`用于进行输入输出操作,`string.h`提供了处理字符串的函数,而`stdlib.h`则包含了内存管理和系统调用的函数,如`system()`用于清屏。 通讯录系统的核心数据结构是一个名为`struct record`的结构体,包含多个字段,如`num`(编号)、`name`(姓名)、`gender`(性别)、`phone`(电话)、`qqnum`(QQ号)和`address`(地址)。结构体数组`mem[100]`用于存储最多100个联系人的信息。 程序的主要功能由一系列函数实现: 1. `void_menu()`:显示主菜单,提供用户选择操作的选项。 2. `void_add(struct record a[100])`:添加新的联系人信息到通讯录。 3. `void_addhd()`:可能用于初始化通讯录,添加默认数据或头部信息。 4. `void_modify(struct record a[100])`:修改已存在的联系人信息。 5. `void_delehd()`:可能是删除整个通讯录或头部信息的辅助函数。 6. `void_dele(struct record a[100])`:删除指定的联系人。 7. `void_findhd()`:可能用于查找功能的初始设置。 8. `void_find(struct record a[100])`:根据用户输入的条件查找联系人。 9. `void_display()`:显示所有联系人的信息。 10. `void_save()`:保存当前通讯录的所有信息到文件。 11. `void_menu2()`:修改信息时的子菜单功能。 12. `void_savenow()`:即时保存当前的修改。 13. `FILE* fp = NULL;`:定义文件指针`fp`,用于文件的读写操作。 在`main()`函数中,程序首先尝试打开名为"D:\\PersonInfo.txt"的文件,如果文件存在且可读,程序会读取文件中的联系人信息并存入结构体数组`mem`。然后,程序进入一个无限循环,显示主菜单并等待用户输入选择的操作。根据用户的选择,调用相应的函数执行对应的操作。例如,用户选择1则调用添加功能,选择2则调用修改功能,以此类推。每次操作后,都会询问用户是否保存更改,如果用户选择保存,将使用`void_save()`函数将更新后的通讯录信息写回文件。 这个C语言通讯录实现是一个基础的文件操作和结构体应用示例,适合C语言初学者理解和学习如何使用C语言进行数据存储和交互式程序设计。