C语言实现通讯录程序

需积分: 9 1 下载量 170 浏览量 更新于2024-09-08 收藏 6KB TXT 举报
"这是一个简单的C语言实现的通讯录程序,具备增、删、改、查的基本功能。通过结构体存储联系人信息,包括地址、姓名和电话,使用静态数组存储多个联系人,并通过函数实现各项操作。" 在这个通讯录程序中,主要涉及到以下几个知识点: 1. **结构体(Struct)**: 在C语言中,结构体是一种用户自定义的数据类型,可以将不同类型的数据组合在一起。在本例中,`struct Person` 定义了一个结构体,包含三个成员:`Address`(地址)、`Name`(姓名)和`Number`(电话)。`persons` 是一个包含100个 `Person` 结构体的静态数组,用于存储通讯录中的联系人信息。 2. **变量(Variable)**: 变量 `num` 用来记录当前通讯录中存储的联系人数量。 3. **函数(Function)**: - `Person_dantiao(int k)`:显示指定索引位置的联系人详细信息。它接收一个整数参数 `k`,表示要打印的联系人在数组中的位置,然后打印出对应联系人的地址、姓名和电话。 - `Person_Numberxiabiao(char Number[])`:通过电话号码查找联系人。它接收一个电话号码字符串,遍历数组比较每个联系人的电话号码,如果找到匹配项则返回其索引,否则返回-1。 - `Person_Namexiabiao(char Name[])`:通过姓名查找联系人。与上面的函数类似,但根据姓名进行查找。 - `Person_xiugai()`:更新联系人信息。此函数提示用户输入要修改的电话号码,查找对应的联系人,然后让用户输入新的地址、姓名和电话,更新相应信息。 4. **字符串处理函数(String Manipulation Functions)**: - `strcmp()` 函数用于比较两个字符串是否相同。在查找函数中,通过 `strcmp()` 比较联系人的电话号码或姓名来确定是否匹配。 5. **输入输出(Input/Output)**: 使用 `scanf()` 读取用户输入的字符串,如电话号码、地址、姓名等。`getchar()` 用于吸收输入缓冲区中的换行符,避免影响后续的输入操作。 6. **循环(Loop)**: `while(1)` 创建了一个无限循环,使得用户可以反复进行联系人信息的修改,直到程序被手动中断。 这个简单的通讯录程序展示了如何使用C语言处理结构化数据,并提供了基本的用户交互功能。虽然它没有实现删除功能,但可以通过修改 `Person_xiugai()` 函数来添加删除功能,例如,删除指定索引的联系人信息后将后续元素前移填充空缺。此外,为了更完善,还可以增加添加新联系人和查询所有联系人的功能。