C语言程序设计--通讯录.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 16 实训报告 实训报告 题 目:通讯录 通讯录管理系统 本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生通讯录管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。 问题定义与描述 1.1问题定义 创建一个学生通讯录管理系统。系统中每个学生信息包括学号、姓名、性别、出生日期、家庭地址、学号、电话、QQ。程序的运行效果如下图所示,选择任意菜单后,实现相应功能。 图1.1 学生通讯录管理系统功能需求 1.2问题描述 在问题定义与描述阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。 2、系统设计 总体设计 采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。 通讯录管理系统输入记录 通讯录管理系统 输入记录 模块 查询记录 模块 更新记录 模块 输出记录 模块 从文件读入 从键盘输入 按学号查询 按姓名查询 修改记录 删除记录 增加记录 排序记录 输出至文件 输出至屏幕 图2.1 通讯录管理系统功能模块图 登陆界面 登陆界面 登录进系统保存记录↓ 登录进系统 保存记录 , 2.1主要功能模块 添加:添加通讯录记录。 显示:显示通讯录记录。 删除:删除通讯录记录。 查询:查询通讯录记录。 修改:修改通讯录记录。 保存:将信息保存到文件。 2.2数据结构设计 结构体 s struct addr /*通讯地址结构定义*/ { char post_num[10]; /*邮编*/ char addr[40]; /*家庭地址*/ }; struct birth /*出生年月结构定义*/ { int year; /*年份*/ int month; /*月份*/ int day; /*日期*/ }; struct friend1 /*电子通讯录结构定义*/ { int number; /*序号*/ char name[20]; /*姓名*/ char sex; /*性别*/ struct birth birth; /*出生年月*/ struct addr addr; /*通信地址*/ char telephone[13]; /*联系电话*/ }friends[50]; FILE *fp; int i; 2.3输入记录模块 输入记录模块主要实现将数据存入结构体中。,用户应选择2,调用Data_Inpu ()函数,进行朋友姓名、电话、地址、性别的输入,即完成在结构体中添加记录的操作。 2.4查询记录模块 查询记录模块主要实现了在结构体中按姓名查找满足相关条件的信息记录。在查询函数search()中,找到相同名字则打印出记录。 2.5删除记录模块 该操作完成删除指定姓名的记录, 输入要删除的序号,输入后调用函数若找到该记录,询问是否继续寻找相同姓名的记录。 2.6显示所有记录模块 该操作完成显示所有记录信息,它分两步完成。 第一步,按照数组中序号进行排序。 第二步,逐条显示出来。 3、系统实现 3.1 编码 3.1.1 程序源代码 #includestdlib.h #includestring.h #includeconio.h #includestdio.h #includedos.h struct addr /*通讯地址结构定义*/ { char post_num[10]; /*邮编*/ char addr[40]; /*家庭地址*/ }; struct birth /*出生年月结构定义*/ { int year; /*年份*/ int month; /*月份*/ int day; /*日期*/ }; struct friend1 /*电子通讯录结构定义*/ { int number; /*序号*/ char name[20]; /*姓名*/

文档评论(0)

白丫 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档