数据结构大项目
项目:基于链表的通信录管理
意义:对于一个通信录来说,要管理联系人的信息,包括编号,姓名,性别,电话。开发其系统主要为了帮助用户提高通讯录有管理效率,节约资源,提高信息的精确度
模块:
一级菜单内容
1> 注册模块:完成用户信息的注册用于登录管理系统,将注册信息存入结构体数组
2> 登录模块:使用输入的登录账号和密码与结构体数组存储信息对比
3> 退出系统
二级菜单内容:
1> 创建模块create:创建链表完成对通信录的存储
2> 添加数据add:添加通信录的信息放入链表中
3> 查找信息find:可以通过姓名进行查找
4> 修改信息update:可以修改联系人信息并保存,修改联系人信息有包括了对联系人编号,姓名,性别,电话号码的分别修改,也可以同时对编号,姓名,性别,电话号码修改;
5> 删除信息delete:可根据输入的姓名进行删除
6> 插入信息insert:将给定的信息以及插入位置信息完成插入
7> 展示信息show:将通讯录的所有信息进行展示
8> 按照姓名将通讯录排序
9> 返回上一级
辅助功能:
10> 初始化链表init:将链表进行初始化
11> 获取链表长度getLength:
12> 统计性别;
1. 说明文档readme
通讯录管理系统
一、项目简介
本项目是一个基于 C 语言实现的通讯录管理系统,提供了用户注册、登录功能,以及对通讯录联系人信息的创建、添加、查找、修改、删除、插入、展示、排序等操作。系统采用链表数据结构来存储联系人信息,方便对数据进行动态管理。二、文件结构
通讯录管理系统/
├── adr_book.c
├── adr_book.h
├── main.c
├── menu.c
└── makefile- adr_book.c:实现了用户注册、登录、通讯录链表操作等核心功能。
- adr_book.h:定义了用户信息、联系人信息结构体,以及相关函数的声明。
- main.c:程序的入口,调用一级菜单函数。
- menu.c:实现了一级菜单(注册、登录、退出)和二级菜单(通讯录操作)。
- makefile:用于编译项目,生成可执行文件。三、编译和运行
编译
在项目根目录下,使用make命令进行编译:make
该命令会根据 makefile 中的规则,将所有 .c 文件编译成 .o 文件,然后链接生成可执行文件 “通讯录”。
运行
编译成功后,执行生成的可执行文件:./通讯录
四、功能说明
一级菜单
- 注册:用户可以输入账户名和密码进行注册。系统会检查账户名是否重复,以及两次输入的密码是否一致。
- 登录:用户输入已注册的账户名和密码进行登录。登录成功后进入二级菜单。
- 退出:退出通讯录管理系统。二级菜单
- 创建新的通讯录:创建一个存储联系人信息的链表。
- 添加数据:向通讯录中添加新的联系人信息,包括编号、姓名、性别和电话。
- 查找:通过姓名查找联系人信息,并显示该联系人的详细信息。
- 修改:先通过姓名查找联系人,然后可以选择修改该联系人的编号、姓名、性别和电话。
- 删除:通过姓名查找联系人,确认后删除该联系人的信息。
- 插入信息:在指定位置插入新的联系人信息。
- 展示:显示通讯录中所有联系人的信息。
- 姓名排序展示:按姓名对通讯录中的联系人进行排序,然后展示排序后的信息。
- 返回:返回一级菜单。
- 初始化:确认后清空通讯录中的所有联系人信息。
- 联系人个数:显示当前通讯录中的联系人数量。
- 性别统计:统计通讯录中男性、女性和未知性别的联系人数量。五、注意事项
- 系统默认有一个账户 “admin”,密码为 “123456”。
- 用户注册数量上限为 10 个。
- 在进行通讯录操作前,需要先创建通讯录链表。
- 输入操作时,请按照提示输入有效的信息,否则系统会提示错误。六、清理编译文件
如果需要清理编译生成的 .o 文件和可执行文件,可以使用以下命令:make clean
2. 源代码
百度网盘链接https://pan.baidu.com/s/1I-0Aimf6RSFRaQuh983WLg?pwd=1234部分代码截图
3. 测试视频