C语言实现基础通讯录:录入、查找与管理

需积分: 12 7 下载量 162 浏览量 更新于2024-09-09 收藏 7KB TXT 举报
本资源是一个用C语言编写的简单通讯录程序,主要功能包括录入、查询、显示、修改和删除联系人信息。通讯录的数据结构定义了两个部分:`Stu` 结构体用于存储单个联系人的姓名、性别、年龄、删除标记和地址;`TongXunLu` 结构体数组用来存储1000个这样的`Stu` 对象,同时维护一个计数器`count` 来跟踪当前的记录数量。 1. **程序结构与文件包含**: - 包含必要的头文件,如`stdlib.h`, `stdio.h`, `conio.h`, 和 `string.h`,用于标准输入输出、字符串处理和动态内存管理。 - `#define MAX1000` 定义了一个常量,表示通讯录最大可存储1000个联系人。 2. **数据类型与枚举**: - 使用`enum OP`枚举类型定义了六种操作:退出(EXIT)、添加(ADD)、查找(FIND)、显示(SHOW)、修改(MODIFY)和删除(DELE),以及一个表示通讯录为空的`EMPTY` 状态。 3. **定义结构体**: - `Stu` 结构体包含了联系人的姓名、性别、年龄、删除标记和地址字段。 - `TongXunLu` 结构体数组`stu` 是一个动态数组,存储`Stu` 结构体的实例,数组大小固定为1000。 4. **函数声明**: - `void initiate()` 初始化通讯录,将`count` 设为0。 - `void add(ptxl *ptxl)` 用于添加新的联系人,检查数组是否已满,然后读取并存储新联系人的信息。 - `void find(ptxl *ptxl, const char* name)` 通过名字查找联系人,返回其在数组中的索引或-1表示未找到。 - `void show(ptxl *ptxl)` 显示通讯录中的所有联系人信息。 - `void modify(ptxl *ptxl)` 和 `void dele(ptxl *ptxl)` 分别实现修改和删除指定联系人功能,需要用户提供要操作的联系人信息。 - `void empty(ptxl *ptxl)` 清空整个通讯录。 - `void menu()` 是主菜单,控制用户与程序的交互。 5. **核心函数调用**: - 在`main()` 函数中,会根据用户选择的操作调用相应的函数。例如,当用户选择添加操作时,会调用`add()` 函数来处理输入。 6. **输入验证与查找逻辑**: - 在`add()` 函数中,使用`strcmp()` 函数比较输入的姓名与通讯录中现有联系人的姓名,确保唯一性。 - 在`find()` 函数中,通过循环遍历通讯录查找指定姓名,使用`strcmp()` 进行匹配。 这个通讯录程序提供了基本的联系人管理功能,适合于学习C语言中数组、结构体、动态内存分配以及用户界面设计的基础知识。通过实践编写这样的程序,可以帮助理解C语言数据结构和控制流程的运用。