欢迎来到天天文库
浏览记录
ID:18809616
大小:119.50 KB
页数:6页
时间:2018-09-25
《数据结构课程设计报告格式要求》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据结构》课程设计报告专业计算机科学与技术班级姓名学号指导教师顾韵华起止时间2011.10~2011.12课程设计:通信录管理一、任务描述以单链表存储通信录中的人员信息,包括编号、姓名、性别、电话、地址,通过此系统可以实现如下功能:(1)通信录链表的建立;(2)人员记录的插入;(3)通信录的查询;(4)人员记录的删除;(5)通信录的输出。要求:根据以上任务说明,设计程序完成功能。二、问题分析1、功能分析分析设计课题的要求,要求编程实现以下功能:(1)通信录链表的建立—即创建单链表;(2)人员记录的插入—即单链
2、表的插入操作;(3)通信录的查询—即单链表的查找操作;(4)人员记录的删除—即单链表的删除操作;(5)通信录的输出—即单链表的遍历操作。2、数据对象分析人员信息:包括编号、姓名、性别、电话、地址人员数量不能事先确定、规模也不能预估,因此采用线性表组织人员数据,采用单链表结构实现数据的存储。三、数据结构设计选用带头结点的单链表实现。有关的定义如下:typedefstruct{//结点数据域类型定义charnum[5];//编号charname[10];//姓名charsex[3];//性别charphone[13
3、];//电话charaddr[30];//地址}ElemType;typedefstructLNode{//结点类型定义ElemTypedata;//数据域structLNode*next;//指针域}LNode,*LinkList;四、功能设计(一)主控菜单设计为实现通信录管理的操作功能,首先设计一个含有多个菜单项的主控菜单程序,然后再为这些菜单项配上相应的功能。程序运行后,给出6个菜单项的内容和输入提示,如下:1.通信录链表的建立2.人员结点的插入3.通信录的查询4.人员记录的删除5.通信录的输出0.退出系
4、统(二)程序模块结构由课题要求可将程序划分为以下几个模块(即实现程序功能所需的函数):l主控菜单项选择函数menu_select()l创建通信录单链表函数CreateList()l单链表结点插入函数Insert()l单链表查询函数Find()l单链表结点删除函数Delete()l通信录输出函数PrintList()(三)函数调用关系程序的主要结构(函数调用关系)如下图所示。其中main()是主函数,它进行菜单驱动,根据选择项0~5调用相应的函数。main()函数使用for循环实现重复选择。其循环结构如下:for
5、(;;){switch(menu_select()){case1:printf("****************************");printf("*通信录单链表的建立*");printf("****************************");CreateList(L);break;case2:printf("****************************");printf("*人员记录的插入*");printf("**********************
6、******");printf("编号(4)姓名(8)性别电话(11)地址(30)");scanf("%s%s%s%s%s",e.num,e.name,e.sex,e.phone,e.addr);Insert(L,e);break;case3:printf("****************************");printf("*通信录的查询*");printf("****************************");p=Find(L);if(p!=NULL){printf(
7、"编号姓名性别电话地址");printf("-----------------------------------------------------");printf("%s%s%s%s%s",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);printf("-----------------------------------------------------");}elseprintf("没有查到要查询的人员
8、!");break;case4:printf("****************************");printf("*人员记录的删除*");printf("****************************");Delete(L);break;case5:printf("****************************");printf("*
此文档下载收益归作者所有