1、 数据结构课程设计 1 数据结构课程设计 选题:通讯录管理、拓扑排序、排序查找数据 学 号: 姓 名: 院 (系) : 信息工程学院 专 业:计算机科学与技术 完成日期: 2012. 06.05 数据结构课程设计 2 目录目录 一、通讯录管理 . 3 第 1 章 需求分析 . 3 1.1 问题定义 3 1.2 问题分析 3 第 2 章 概要设计 4 2.1 数据结构描述. 4 2.11 数据类型定义 4 2.2 模块设计 4 2.21 模块之间的关系 . 4 2.22 主程序流程图设计 . 5 第 3 章 程序设计 . 6 3.1 程序演示 6 二、拓扑排序. 10 2.1 问题描述 10 2
2、.2 要求 . 10 2.3 问题分析 10 2.4 主要流程图 .11 2.5 代码设计 12 2.6 要实现的图 . 12 2.7 程序演示 13 三、排序查找数据 14 3.1 问题描述 14 3.2 要求 . 14 3.3 主要思路及代码 14 3.4 主要流程图设计 . 16 3.5 程序演示 17 总结. 18 数据结构课程设计 3 一、通讯录管理一、通讯录管理 第第 1 章章 需求分析需求分析 1.11.1 问题定义问题定义 随着信息社会的高速发展与进步,人们之间的交往越来越丰富多彩,人与人 之间的交往联系越来越频繁,通讯方式越来越多样化,如何保证与朋友、同学、 同事、领导、亲戚
3、等之间的联系,并能方便快捷的查找、记录、修改其相关通讯 信息,越来越受到关注。对通讯录进行必要的管理与更人性化的设计,对人们实 现快速得知朋友的信息提供了极大的方便, 仅靠以前单独的手工记录已远远不能 满足当前的需要。在通讯录管理系统中应该包含的模块有:通讯录的建立模块、 插入新的信息模块、在已有通讯录中进行查找模块、删除已有信息模块、显示所 有通讯录信息模块、退出通讯录管理系统模块。 1.2 1.2 问题分析问题分析 程序运行时输入某些已知的通讯信息,在此基础之上,进行通讯录信息的查 找、插入、删除及通讯录中所有信息的显示和退出该管理系统程序的操作流程。 另外,还应该使用图形化界面,即要使人
4、机界面友好,在进入通讯录之前显示主 菜单供用户选择;在显示通讯录数据项目时,如果用户按下回车键,则在下面显 示系统菜单。开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管 理个人的朋友及相关人员的通讯信息, 了解友人相关信息, 帮助与友人保持联络。 数据结构课程设计 4 第第 2 章章 概要设计概要设计 2.1 2.1 数据结构描述数据结构描述 2.11 2.11 数据类型定义数据类型定义 (1) 链表存储结构描述及函数描述 typedef struct /通讯录结点类型 char num5; /编号 char name9; /姓名 char sex3; /性别 char phone1
5、3; /电话 char addr31; /地址 DataType; typedef struct node /结点类型定义 DataType data; /结点数据域 struct node *next; /结点指针域 ListNode; typedef ListNode *LinkList; LinkList head; ListNode *p; LinkList CreateList(void);/通讯录建立函数 void InsertNode(LinkList head,ListNode *p);/通讯录信息插入函数 ListNode *ListFind(LinkList head);/
6、通讯录信息查询函数 void DelNode(LinkList head);/通讯录信息删除函数 void PrintList(LinkList head);/通讯录信息输出函数 LinkList WritetoText(void);/通讯录信息保存到文件函数 2.22.2 模块设计模块设计 2.21 模块之间的关系模块之间的关系 数据结构课程设计 5 功能模块图 2.22 2.22 主程序流程图设计主程序流程图设计 数据结构课程设计 6 主程序流程图 第第 3 章章 程序设计程序设计 3.1 3.1 程序演示程序演示 数据结构课程设计 7 通讯录链表的创建 通讯录链表插入 数据结构课程设计 8 通讯录的查询 通讯录的删除 数据结构课程设计 9 通讯录的输出 通讯录的保存 数据结构课程设计 10 二、拓扑排序二、拓扑排序 2.12.1 问题描述问题描述 拓扑排序可判断 AOV 网络中是否存在回路,使的所有活动可排成一个线性 序