C++通讯录管理系统源代码:添加、显示、删除与查找功能

需积分: 5 4 下载量 95 浏览量 更新于2024-08-05 3 收藏 6KB TXT 举报
本资源是一份C++源代码,用于实现一个通讯录管理系统。这个系统主要功能包括添加、显示、删除、查找和修改联系人,以及清空联系人列表和提供用户使用说明。代码结构清晰,适合大二学生学习和理解C++编程。 1. **数据结构与定义**: 结构体`contact`被用来存储联系人的信息,包含姓名(name)、性别(sex)、年龄(age)和地址(address)。`people`数组用于存储这些联系人,数组大小定义为`M1000`,`len`变量记录当前联系人数量。 2. **添加联系人**: 函数`scanfmessage()`通过`cin`从用户处获取输入,依次读取姓名、性别、年龄和地址,并将数据存储到`people`数组中。当添加完成后,会输出提示信息“添加成功”。 3. **显示联系人**: `printmessage()`函数遍历`people`数组,打印出所有非空联系人的姓名、性别、年龄和地址,如果年龄不为0。最后告知用户“信息输出完毕”。 4. **删除联系人**: `shear()`函数根据用户输入的姓名查找并删除该联系人。首先检查`len`是否为0,然后遍历数组,找到指定姓名的联系人后将其位置后的元素向前移动,最后更新`len`值。删除操作成功时,输出提示消息。 5. **查找联系人**: `findmessage()`函数要求用户输入需要查找的姓名,然后在`people`数组中搜索匹配项。虽然代码没有实现完整的查找逻辑,但其设计思路是先获取输入,然后在循环中进行查找。 6. **其他功能**: 提供了清空联系人列表的功能,但具体实现未在提供的代码片段中展示。此外,用户使用须知部分提到的“修改联系人”功能,可能需要类似添加联系人那样的输入流程,但在给出的代码中没有明确实现。 7. **源代码特点**: 代码使用了C++标准库,如`iostream`和`string`,并且包含`#define`常量定义和`using namespace std;`来简化代码。每个函数都有详细注释,便于理解和学习。 这份通讯录管理系统源代码为C++入门者提供了实践面向对象编程(尤其是使用结构体和数组)以及处理用户输入和基本操作的好例子。通过阅读和实践这份代码,学生可以加深对C++语言的理解,增强编程能力。
2013-01-18 上传
程序包含如下功能: (1)Add Record (增加记录) 提示输入个字段。一次输入一个人的数据。新记录加入后,通讯录按指定的排序顺序排序。初始时,默认按“姓名”排序;选择“8.Sort”后可修改排序顺序为按“办公室”排序。指定一种排序方法后,就一直保持此排序方法,直到重新指定。“8.Sort”可在两种排序方法之间切换。 (2)Delete Record (删除记录) 输入待删除的姓名,显示该姓名下的所有信息,让用户确认是否要删除。 (3)Display All Record(显示所有记录) 按顺序显示所有记录,每显示10条数据,暂停,用户按键继续。 (4)Query(按姓名查找并显示一个记录) 输入姓名,显示该姓名下的所有信息。 (5)Modify Record(按姓名查找,想、修改一个记录) 用户输入一个姓名,系统显示改下名下的所有信息,同时显示子菜单,用户按子菜单提示,指定修改哪一个数据项。 子菜单如下: (1)Modify Name//修改姓名 (2)Modify Office Phone//修改办公室号码 (3) Modify Home Phone//修改住宅电话 (4) Modify Mobile Phone//修改手机号码 (5) Modify Email//修改Email地址 Choice: 若修改时当前排序字段(“姓名”或“办公室电话”),程序内部调用排序程序重新排序; (6) Add from a Text File(从正文文件中批量添加数据到库表中) (7)Write to a Text File(将库表中数据写入正文文件) (8)Sort(排序) (9)Set Password (设置密码) 用户选择该选项是可以设置一个密码,改密码保存在addrilist.dat中,用户下次开始运行程序,需要从二进制文件addrilist.dat中加载数据,如果时其他用户则无法从addrilist.dat中加载数据。可以为addrilist.dat中的数据保密。不选择时系统保持初始密码0。 (10)Quit(退出系统)进行保存数据的内部操作。将数据写入addrilist.dat中保存起来