C语言实现的好友信息管理系统源代码

需积分: 10 1 下载量 164 浏览量 更新于2024-07-23 收藏 28KB DOCX 举报
"这是一个好友信息管理系统的源代码,用于管理和存储包括姓名、性别、生日、电话号码和地址等信息的好友数据。系统具有显示、添加、查找、删除和保存功能,并支持屏幕管理。" 该系统的核心是`struct person`结构体,它定义了每个好友的信息字段。结构体包含了以下字段: 1. `name[16]`: 好友的姓名,长度最多16个字符。 2. `gender`: 使用枚举类型`enum gender`表示性别,包括`woman`和`man`。 3. `bday`: 使用`struct mydate`结构体存储生日,包括年、月、日。 4. `tel[14]`: 存储电话号码,长度最多14个字符。 5. `addr[32]`: 好友的地址,长度最多32个字符。 6. `del`: 逻辑删除标志,用于标记已删除但未实际清除的记录。 系统还定义了几个全局变量来跟踪管理信息: 1. `struct person Frnd[N]`: 一个大小为N(这里为701)的数组,存储所有好友信息。 2. `int Frond[N]`: 用于存放查找结果的记录序号。 3. `int Number`: 通信录中实际包含的记录个数。 4. `int Deleted`: 当前被设置逻辑删除标志的记录个数。 5. `char Change`: 标志通信录是否被修改过。 6. `unsigned PageSize`: 每页显示的记录数。 7. `char Main_menu_sel`: 主菜单项的选择。 8. `char Screen[4000]`: 屏幕缓冲区,用于保存屏幕状态。 系统提供了一些关键函数,如: 1. `inittad()`: 初始化通讯录。 2. `load()`: 读取已保存的通讯录数据。 3. `list()`: 显示通讯录中的所有记录。 4. `find()`: 查找特定条件的好友记录。 5. `append()`: 添加新的好友记录。 6. `delete()`: 删除指定记录,设置逻辑删除标志。 7. `save()`: 保存通讯录数据到文件。 8. `quit()`: 结束程序。 此外,还有一些辅助函数,如`restscrn()`用于重置屏幕,`backclr()`用于清屏,`getrecn()`、`daymax()`、`getyear()`和`getmonth()`用于获取输入,`disp_1st_head()`显示页面头部,`listmenu()`显示菜单,`restmenu()`恢复菜单,`new_scrn()`创建新屏幕,以及`pageset()`设置屏幕布局。 该系统通过DOS命令`modecon`设置显示器的行列数,确保界面的适配。用户可以通过主菜单进行交互,选择不同的功能来操作通讯录,例如添加新朋友、查找朋友、删除朋友等。整个系统旨在方便地管理个人的好友信息。