C语言实现通讯录管理系统源码分享

需积分: 13 1 下载量 82 浏览量 更新于2024-09-21 收藏 5KB TXT 举报
这是一个基于C语言编写的通讯录管理系统源代码,用于课程设计,包含添加、显示、删除、查询和保存联系人信息等功能。 该通讯录系统的核心结构体是`Person`,它定义了三个成员变量:`score`(学号或编号)、`name`(姓名)和`num`(电话号码)。源代码中定义了一个大小为80的`Person`数组`pe`来存储联系人信息。 `menu_select`函数用于实现用户交互的菜单选择,提供5个选项:添加联系人、显示所有联系人、删除联系人、查询联系人以及保存数据到文件,还有一个退出选项。通过循环确保用户输入的有效性,只接受0-5之间的数字输入。 `Input`函数用于输入联系人信息。它接受一个`Person`类型的数组和已有的联系人数量作为参数,然后循环提示用户输入新的联系人信息,包括学号、姓名和电话号码。当用户输入'n'或'N'时,表示不再添加联系人,函数返回新添加的联系人数量。 `Display`函数用于显示所有联系人的信息,采用表格形式,列出了每个联系人的学号、姓名和电话号码。这里使用了格式化输出来使输出整齐。 这个通讯录系统还缺少一些功能,例如删除联系人、查询联系人和保存数据到文件的实现。通常,删除功能会根据用户输入的姓名或学号来定位并移除相应的联系人;查询功能则允许用户通过输入姓名或学号来查找特定联系人;而保存数据到文件一般会使用文件操作函数,如`fopen`、`fwrite`和`fclose`,将联系人信息序列化存储到磁盘上,以便下次程序运行时可以加载这些数据。 为了完善这个系统,还需要实现以下功能: 1. 删除功能:遍历数组,找到匹配的联系人并移除。 2. 查询功能:根据用户输入的关键词搜索联系人,并显示匹配结果。 3. 保存和加载功能:使用文件I/O操作,将联系人信息写入文件并在程序启动时读取。 此外,代码中的一些安全性问题需要注意,如未处理的缓冲区溢出(如在`gets(x)`中),应改为使用安全的`fgets`函数。同时,对于用户输入的验证也需要加强,以防止非法数据输入。