C语言-通讯录管理系统
### C语言通讯录管理系统知识点详解 #### 系统概述与设计目标 本系统是一个基于C语言开发的学生通讯录管理系统,旨在实现对联系人信息的有效管理。设计目标是创建一个小型但功能完备的通讯录,支持联系人信息的录入、检索、删除、修改,并具备文件操作能力,包括数据的读取和保存。 #### 功能设计要求 系统功能主要包括以下几点: 1. **增加通讯录成员记录**:支持录入成员的基本信息,如姓名、大学名称、专业、班级、家庭住址、邮编、联系电话、QQ等。新增记录会追加在现有记录之后,且有错误检测机制,如电话号码的长度和格式检查。 2. **显示通讯录成员记录**:可以根据姓名或专业进行检索和显示。若无记录,则提示用户。同时,显示功能可即时反映内存中的记录状态。 3. **删除通讯录成员记录**:支持按姓名删除,需确认后方可执行。若通讯录为空或未找到对应记录,系统将给予相应提示。删除操作仅作用于内存,存盘时才覆盖原有记录。 4. **修改通讯录成员记录**:同样支持按姓名修改,确认后生效。如通讯录为空或无待修改记录,系统将提示用户。 5. **查询通讯录成员信息**:支持按姓名查询,未找到时提示用户。 6. **文件存储**:允许按默认或自定义名称保存记录文件,成功返回0,失败返回-1,同时更新存储标志。 7. **读取文件**:同样支持默认或自定义文件名的读取操作,成功返回0,失败返回-1,更新存储标志。 8. **成员信息位序调整**:允许用户调整成员的排列顺序,输出调整结果。 #### 系统设计 - **总体设计**:系统采用模块化设计,每个功能由独立的函数或模块负责,如添加、显示、删除、修改、查询、文件操作等。 - **源文件与函数组成**: - `Member.c`:包含主控函数`Main()`和菜单选择`menu`。 - `Add_disp.c`:负责输出表头`ShowTable`,信息录入`AddInfo`,显示信息`PrintInfo`,输入格式长度检查`stringinput`。 - `Search_del_modi.c`:负责删除`Del`、查询`Search`、修改`Modify`记录。 - `Save_Load.c`:实现文件保存`Save`和读取`Load`。 - `Member.h`:提供全局变量、通讯录结构体声明、库函数与函数原型声明。 - `Sort.c`:负责成员信息的位序调整`Sort`。 #### 函数设计详解 - **文件读取操作函数**:`load(MEM*head)`,用于读取文件中的记录到内存,成功返回0,失败返回-1。 - **文件存储操作函数**:`save(STU*head)`,用于将记录保存至文件,成功返回0,失败返回-1。 - **增加信息操作函数**:`AppendInfo(MEM*head)`,用于在记录尾部添加新信息。 - **显示学生信息函数**:`PrintInfo(MEN*head,int n)`,显示指定数量的记录信息。 - **删除学生信息函数**:`Del(MEN*head)`,删除指定记录,通过移动后续记录实现。 - **修改学生信息函数**:`Modify(MEN*head,int n)`,修改指定记录的信息。 整个系统的开发遵循了良好的软件工程实践,包括模块化设计、清晰的函数接口、合理的错误处理和用户交互设计,确保了系统的可靠性和易用性。通过以上知识点的总结,我们可以看到C语言通讯录管理系统的全貌,以及其实现的具体细节和技术要点。
剩余45页未读,继续阅读
- mhf1252012-07-12跟常见的学生管理系统一个框架,初学者可以拿来练手
- 粉丝: 2
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Python和MXNet框架的ZJ League视频问题回答系统.zip
- (源码)基于C++的图书管理系统.zip
- (源码)基于C++的航班管理系统.zip
- ATmega328-Bootloader-Maker(使用ATmega328p芯片制作Arduino Uno R3开发板)
- 一组用 Javascript 解决的技术软件开发面试问题,非常合理.zip
- (源码)基于Spring Boot和WebSocket的贪吃蛇对战系统.zip
- (源码)基于C++的生产线数据传输成功率监控系统.zip
- (源码)基于Spring Boot和Dubbo的文件管理系统.zip
- (源码)基于C++的Local Generals游戏系统.zip
- (源码)基于MQTT协议的智能插座系统.zip