数据结构-通讯录管理系统的设计与实现.docxVIP

数据结构-通讯录管理系统的设计与实现.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
— PAGE \* Arabic 1 — 数据结构-通讯录管理系统的设计与实现 课程设计报告 课程设计名称:数据结构课程设计系:三系 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2011-2012学年一学期 宿迁学院 课程设计任务书 课程名称:数据结构 指导教师: 专业班级: 学生姓名: 起止日期:2012.12-2013.1 设计题目一:通讯录管理系统的设计与实现 1 概述 1.1 现状分析 课程设计是实践教学中的重要环节,它以某一门课程为基础,涉及和课程相关的各方面知识,是一门独立于课程外的特殊课程。课程设计就是让所有同学对课程更全面的应用。本次实验项目“通讯录管理”就是针对数据结构的一门应用较为广泛的系统管理方法。 1.2 实现意义 本次实验应用性能很好,结构清楚,能随时添加、删除、查找、修改、输出联系人;并且可以用姓名、编号两种方式;而且其中增加了排序功能,使得插入之后排序为接下来的操作提供便利,操作更精确,以人性化的方式展现出来,效果十分突出。 2 系统分析 编程完成通讯录的一般性管理工作如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含编号、姓名、性别、电话号码、住址个人基本信息。用《数据结构》中的链表做数据结构结合c语言基本知识编写一个通讯录管理系统。本程序相对简单,使用方便,几乎不用特殊的命令,只需按提示输入即可。对于建立通讯录管理系统,则需了解并掌握数据结构与算法的设计方法,尤其在算法方面,链表及结点的联系,提高综合运用所学的理论知识和方法独立分析和解决问题的能力。 3 概要设计 3.1算法的设计 本实验从整体上分为七大模块:(1)通讯录链表的建立;(2)通讯者结点的插入;(3)通讯者结点的查询;(4)通讯者结点的删除;(5)通讯者结点的修改;(6)通讯录链表的输出;(7)退出通讯录管理通讯者结点的删除系统。 3.2 通讯录系统图 系统功能模块图如图所示: 系统功能模块图 4 详细设计 4.1 主菜单模块设计 编写一个主控菜单驱动程序,输入0—6以进入相应选择项。 1. 实现循环和功能选择 假设输入选择用变量k,它作为0-6之间的一个输入变量,由getchar读入,提供给switch 语句。使用while语句循环实现重复选择,并在主函数void main( )中实现。 2.得到k的合理值 设计一个函数用来输出提示信息和处理信息输入,这个函数应该返回一个数值k,以便供给switch语句使用。对于k输入值,在switch中case语句对应数字0—6,在swith语句中再调用相应的函数,使得程序得以执行,对于不符合要求的输入,提示输入错误并要求重新输入。 4.2 通讯录建立模块设计 1.系统用到的数据有: char number[5]; //编号 char name[20]; //姓名 char sex[10]; //性别 char telephone[20]; //电话 char address[20]; //地址 函数: LinkList CreateList(void); //实现通讯录链表的建立功能 void InsertNode(LinkList head,ListNode *p); //实现通讯录结点的插入 void PaixuNode(linklist * //信息按编号排序 ListNode *ListFind(LinkList head); //实现通讯录结点的查找 void DeleteNode(LinkList head); //实现通讯录结点的删除 void ModifyNode(LinkList head); //实现通讯录结点的修改 void PrintList(LinkList head); //实现通讯录结点的输出*/ 2.我们知道的建立链表有两种方法,一种为头插入法,一种为尾插入法。头插入法是每次将新插入的结点插在链表的表头,而尾插入法是将新插入的结点插入在链表的尾部。我们这里用尾插入法描述算法。 (1) 使链表的头尾指针head、rear指向新生成的头结点(也是尾结点); (2) 置结束标志为0(假);

文档评论(0)

156****6665 + 关注
官方认证
文档贡献者

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

认证主体宁阳琛宝网络工作室
IP属地山东
统一社会信用代码/组织机构代码
92370921MAC3KMQ57G

1亿VIP精品文档

相关文档