C语言电话本实现与查询详解

需积分: 9 18 下载量 176 浏览量 更新于2024-09-24 收藏 65KB DOC 举报
这段代码是用C语言实现的一个简单电话本应用,包含了两个主要功能:添加联系人(add函数)和查询联系人(Qur函数)。通过定义一个名为`telebook`的结构体,每个结构体包含四个成员:编号(num)、姓名(name)、电话号码(phonenum)和地址(address)。结构体数组`tel`最多可以容纳30个联系人。 1. 宏定义与结构体: `#define outputtel[i].num...` 表示使用宏定义来简化输出结构体数组中的元素,这在C语言中是一个常见的技巧,可以提高代码的可读性和维护性。结构体`struct telebook`用于存储每个联系人的信息,其中`num`为整型,用于唯一标识;`name`、`phonenum`和`address`为字符数组,分别用于存储姓名、电话号码和地址。 2. 添加联系人(add函数): 此函数允许用户输入新的联系人信息,包括姓名、电话号码和地址。首先尝试以追加模式"a+"打开文件"telebook.txt",如果文件打开失败,则显示错误并退出程序。接着遍历结构体数组,找到下一个可用的位置插入新联系人。输入信息后,询问用户是否保存,若选择保存,则使用`fwrite`函数将结构体写入文件,关闭文件。若选择不保存,则跳过此次操作。 3. 查询联系人(Qur函数): 这个函数用于检索电话本中的联系人。它以只读模式"rb"打开文件,然后检查文件是否为空。如果文件不为空,读取第一个结构体,并继续读取直到文件结束。如果读取到数据,就显示联系人信息。如果文件为空,提示用户电话本为空。 这段代码提供了一个基础的电话本管理功能,虽然功能比较简单,但展示了C语言中结构体、文件操作和基本的用户交互。在实际开发中,可能会加入删除、修改等更多功能,并考虑文件的错误处理和数据持久化。对于学习C语言编程以及理解文件I/O操作,这段代码是一个不错的示例。