c语言通讯录管理系统课程设计报告

c语言通讯录管理系统课程设计报告

ID:9182116

大小:287.00 KB

页数:13页

时间:2018-04-20

c语言通讯录管理系统课程设计报告_第1页
c语言通讯录管理系统课程设计报告_第2页
c语言通讯录管理系统课程设计报告_第3页
c语言通讯录管理系统课程设计报告_第4页
c语言通讯录管理系统课程设计报告_第5页
资源描述:

《c语言通讯录管理系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、西安郵電學院高级语言课程设计报告书系部名称通信工程学院学生姓名张博专业名称电子信息科学与技术班级电科0901班学号指导教师夏虹时间2010年11月22日至2010年12月03日实验题目个人通讯录管理系统一、实验目的设计一个个人通讯录管理系统,拥有对数据的各种操作功能,实现对通讯录的管理,从而巩固C语言程序设计二、实验内容l个人通讯录管理系统需求分析l个人通讯录管理系统总体设计l个人通讯录管理系统详细设计l个人通讯录管理系统模块设计l个人通讯录管理系统系统集成l个人通讯录管理系统测试运行三、需求分析对于一个通用的个人通讯

2、录管理系统而言,用户首先要能够对通讯录中的数据进行录入,删除,更新和输出等操作,其次要求对通讯录中的数据进行查找操作。根据上述分析,在后面给出该个人通讯录的主要实现功能。n信息录入:即创建一个存储通讯录信息的数据结构,有用户从键盘上录入信息,或从数据表文件中导入到该数据结构中。n信息更新:对数据结构中已有的信息进行修改,并将结果保存在数据结构中。n信息删除:删除数据结构中无用的信息,并将解雇保存在无数据结构中。n信息查询;针对用户输入的目标值,在数据结构中查找对应的记录,并将其输出到用户屏幕。n信息导入:将某文件中的信

3、息导入到创建的数据结构中,提高数据的输入效率。n信息导出:将数据结构中的记录导出到文件中,已永久保存下来。信息输出:将数据结构中的信息或指定的信息输出到用户屏幕中。四、概要设计n1.数据类型dnode*p,*rear,*q;/*定义指针结点*/constcharUSER[]={'w','a','l','d','e','n'},PASSWORD[]={'4','1','6','9','5','3'};/*定义用户密码*/intOK=1,i;/*用作循环变量或返回值*/FILE*fp;/*定义文件指针*/2、数据结构说明/

4、*datastructure*/typedefstructtxl{charname[20];/*成员姓名,为通讯录管理的对象*/charsex[4];/*性别,可用于快速类别查询,区别数据成员*/charcity[20];/*所在城市,可用于快速类别查询,区别数据成*/charprovince[20];/*省别*/charqq[11];/*QQ号,管理查询主信息*/charphonenumber[11];/*对象电话号,管理查询主信息*/}dtxl;/*建立通讯录信息结构体*/typedefstructdlnode{d

5、txldata;/*定义数据域*/structdlnode*prior;/*前驱指针*/structdlnode*next;/*后继指针*/}dnode;/*建立双向链表结构体*/程序中定义的数据类型——结构体(各个成员的作用)3、模块功能说明信息录入功能模块:实现用户从键盘输入数据存储对应字段或该数据成员中,并检查输入的合法性。n信息更新功能模块:首先更具用户输入找到需要修改的目标记录,再将用户重新输入的信息存储到该记录中,以替代该记录原来的信息。n信息删除功能模块:该模块将通讯录中无用的信息从数据数据结构中删除,不

6、可再恢复。n信息查询功能模块;用户输入的待查询记录的某关键字,在结构中查找对应的记录,找到则输出相关信息,否则给出无法得提示信息。n信息导入功能模块:该模块将文本文件或二进制中的数据导入到数据结构中,以提高数据的输入效率。n信息导出功能模块:将数据结构中的记录导出到文件中,已永久保存下来。信息输出:将数据结构中的信息或指定的信息输出到用户屏幕中。信息输出功能模块:将数据结构中指定的信息输出在用户屏幕。根据如上功能模块分析,通讯录信息管理系统的总体结构设计图如下所示。五、详细设计及运行结果总体结构图:删除流程图:信息更新

7、流程:首先建立一个空的头结点,再根据用户的输入对每个结点分配内存空间,指定其前驱结点和后继结点,将该结点插入到链表中最后判断用户是否需要重复输入。主页面是一个系统的主要操作界面,也是系统的交互式平台,可通过printf函数来画出主界面。与在单链表中添加结点不同,循环双链表中添加一个结点除了需将后继指针next只想后一个结点外,还需要将其前前驱指针prior指向其前一个结点。但该结点为第一个结点时,其前驱指针为空,当其为最后一个结点时,后继指针指向第一个结点。因此,录入模块的实现就是对双向链表结点的添加操作,其函数代码如

8、下:dnode*enter()信息查询模块所要实现的功能是根据用户输入的待查询记录的某关键字,在数据结构中查找该记录。在该通讯录中,关键字是指姓名字段,通过制定姓名来查找对应的信息记录。对于循环双链表中结点的查询,其实现与单链表的查询类似,在其中依次比较结点的数据域,发现其相同即查找成功,返回给关键字对应的信息记录,否则返回无法找

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。