课程设计:通信录管理

上传人:第*** 文档编号:38721968 上传时间:2018-05-06 格式:DOC 页数:6 大小:116.50KB
返回 下载 相关 举报
课程设计:通信录管理_第1页
第1页 / 共6页
课程设计:通信录管理_第2页
第2页 / 共6页
课程设计:通信录管理_第3页
第3页 / 共6页
课程设计:通信录管理_第4页
第4页 / 共6页
课程设计:通信录管理_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《课程设计:通信录管理》由会员分享,可在线阅读,更多相关《课程设计:通信录管理(6页珍藏版)》请在金锄头文库上搜索。

1、数据结构 课程设计报告专 业 计算机科学与技术 班 级 姓 名 学 号 指导教师 起止时间 2011.102011.12 课程设计课程设计:通信录管理:通信录管理一、任务描述一、任务描述以单链表存储通信录中的人员信息,包括编号 、姓名、性别、电话、地址,通过此系 统可以实现如下功能: (1)通信录链表的建立; (2)人员记录的插入; (3)通信录的查询; (4)人员记录的删除; (5)通信录的输出。要求:要求:根据以上任务说明,设计程序完成功能。二、问题分析二、问题分析1、功能分析、功能分析分析设计课题的要求,要求编程实现以下功能: (1)通信录链表的建立即创建单链表; (2)人员记录的插入即

2、单链表的插入操作; (3)通信录的查询即单链表的查找操作; (4)人员记录的删除即单链表的删除操作; (5)通信录的输出即单链表的遍历操作。 2、数据对象分析、数据对象分析人员信息:包括编号 、姓名、性别、电话、地址人员数量不能事先确定、规模也不能预估,因此采用线性表组织人员数据,采用单链 表结构实现数据的存储。三、数据结构设计三、数据结构设计选用带头结点的单链表实现。有关的定义如下:typedef struct /结点数据域类型定义char num5; /编号char name10; /姓名char sex3; /性别char phone13; /电话char addr30; /地址 Ele

3、mType; typedef struct LNode /结点类型定义ElemType data; /数据域struct LNode *next; /指针域 LNode , *LinkList ;四、功能设计四、功能设计(一)主控菜单设计 为实现通信录管理的操作功能,首先设计一个含有多个菜单项的主控菜单程序,然后再为这些菜单项配上相应的功能。 程序运行后,给出 6 个菜单项的内容和输入提示,如下: 1. 通信录链表的建立 2. 人员结点的插入 3. 通信录的查询 4. 人员记录的删除 5. 通信录的输出 0. 退出系统(二)程序模块结构 由课题要求可将程序划分为以下几个模块(即实现程序功能所需

4、的函数): 主控菜单项选择函数 menu_select() 创建通信录单链表函数 CreateList() 单链表结点插入函数 Insert() 单链表查询函数 Find() 单链表结点删除函数 Delete() 通信录输出函数 PrintList()(三)函数调用关系 程序的主要结构(函数调用关系)如下图所示。 main()CreateList()Insert()Find()Delete()PrintList()menu_select()其中 main()是主函数,它进行菜单驱动,根据选择项 05 调用相应的函数。main()函 数使用 for 循环实现重复选择。其循环结构如下: for (

5、;) switch(menu_select() case 1: printf(“*n“); printf(“* 通信录单链表的建立 *n“);printf(“*n“); CreateList(L); break; case 2:printf(“*n“); printf(“* 人员记录的插入 *n“);printf(“*n“); printf(“编号(4)姓名(8) 性别 电话(11) 地址(30)n“); scanf(“%s%s%s%s%s“,e.num,e.name,e.sex,e.phone,e.addr); Insert(L,e); break; case 3:printf(“*n“);

6、 printf(“* 通信录的查询 *n“);printf(“*n“);p=Find(L); if (p!=NULL) printf(“编号 姓 名 性别 电 话 地 址n“);printf(“-n“); printf(“%s%s%s%s%sn“,p-data.num,p-data.name,p-data.sex,p- data.phone,p-data.addr);printf(“-n“); else printf(“没有查到要查询的人员!n“); break; case 4:printf(“*n“); printf(“* 人员记录的删除 *n“);printf(“*n“); Delete(

7、L); break; case 5:printf(“*n“); printf(“* 通信录的输出 *n“);printf(“*n“); PrintList(L); break; case 0: printf(“t 退 出 !n“); return; (四)文件结构 1、linklist.h:单链表相关的定义与声明 2、linklist.cpp:单链表运算的实现 3、menu.h:主菜单函数的声明 4、menu.cpp:主菜单函数的实现5、mn.cpp:主函数(五)各函数的算法设计 1、CreateList() 算法原理: 流程图: 代码描述: 算法的时间复杂度分析: 算法的改进方法(这部分可以

8、选择):2、Insert() 算法原理: 流程图: 代码描述: 算法的时间复杂度分析: 算法的改进方法(这部分可以选择):五、测试数据和结果五、测试数据和结果1、测试数据、测试数据自定义一组如下的测试数据,包含三个人员:编号编号 姓名姓名 性别性别 电话电话 地址地址1001 张三 男 123456 西湖路 1 号1002 李四 男 12345678 外滩 1 号1003 赵云 女 12345678 外滩 3 号2、测试结果、测试结果本程序在 VC+环境下实现,下面是对以上测试数据的运行结果。(1) 主菜单显示如下:(2) 建立通信录单链表:.(更多的运行界面及说明)六、结束语六、结束语本设计完成了课题要求的任务,较熟练地运用了单链表来解决问题,实现了单链表的 基本算法,设计了较便捷的操作界面。进一步的改进设想:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号