数据结构课程设计(旅游管理系统)(教学参考)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
--------数据结构课程设计报告
学号:1016020203
姓名:张灿
指导教师:曹春萍
专业:计算机
完成日期:2012.06.25
目录
A篇:旅游信息管理系统
一、题目要求
1、题目内容----------------------------------1
二、程序设计目标
1、题目分析----------------------------------1
2、功能简介----------------------------------2
3、数据结构----------------------------------2
三、概要简述
1、功能结构图---------------------------------3
2、模块分析-----------------------------------3
四、详细设计
1、结构体定义----------------------------3
2、程序流程图---------------------------5
五、源程序代码
1、源程序c++实现代码-------------------------6
六、调试分析及测试结果
1、运行结果截------------------------------14
七、附录
1、补充说明--------------------------------19
八、程序小结
1、报告总结———————————————19 B篇: B-树手工题
一、题目要求
1、题目内容-----------------------------------20
二、运行过程
1、从空树插入---------------------------------20
2、插入完成-----------------------------------25
3、依次删除要求点-----------------------------26
4、最终结果-----------------------------------28
C篇:附加题
一、题目
1、题目内容—————————————————29
二、程序设计目标
1、功能简介—————————————————29
2、数据结构—————————————————29
三、设计思路
1、结构体定义————————————————29
2、功能结构图———————————————30
3、程序流程图———————————————30
四、实现代码
1、程序代码————————————————32
五、程序调试以及运行结果
1、调试结果及截图—————————————43
六、报告总结
1、报告总结————————————————44
A篇:旅游信息管理系统
一、题目要求
1、题目内容
旅游信息管理系统
1)数据结构
(1)、二叉排序树加单链表
(2)、二叉排序树
说明:1、用二叉排序树表示旅游地点,用单链表表示游客。
2、用二叉排序树表示旅游地点和游客。
2)、功能
(1)、旅游地点的插入
(2)、游客报名
(3)、当某地的旅游人数少于三个人时,取消次旅游地,建议游客该选其他旅游点
(4)、当某旅游地旅游人数等于六个时,不允许在报名。建议游客改选其它旅游地。
二、程序设计目标
1、题目分析
读题可知,需完成两方面的编程以对旅游系统进行操作。一方
面是旅游公司管理人员,主要是旅游景点的添加与删除,对旅游人员的录入与删除,对旅游人数的统计,把游客所需信息打印等等;第二方面是游客对于旅游地的选、改、删,以及个人信息的输入、确认等等。
2、功能简介
由以上分析可得:本设计程序功能主要有:
①、旅游公司管理人员对旅游人员和旅游地点的操作,用二叉排序树管理旅游地点。主要有地点的变更,插入、删除、游客的信息存储及及时提醒等功能。其中二叉树每一个结点包括旅游地点的区号(area_node)、名称(area)、该旅游地的游客人数(count)、以及一个指向游客信息结构的指针(list),还有二叉树结点的左孩子和右孩子指针(lchild,rchild)。
②、游客可以登陆旅游公司界面进行报名、选择旅游地点和输入个人信息。游客结构采用单链表,其中包括单链表的初始化、插入、删除、计数功能。其中每一个单链表结点包括游客的编号(id)、姓名(name)、性别(sex)、和链接链表的指针(next)。
3、数据结构
用到的数据结构有:单链表,排序二叉树,数组。
三、概要简述
1、功能结构图
主 菜 单
程序员 游客
2、模块分析
本程序包括三个模块:主程序模块、二叉排序树模块、单链表模块,工作区选择模块。如图:
二叉排序树模块 主程序模块 单链表模块
工
作去
选择
模块
插入 删除 插入
遍历
遍历
二叉树 单链表
四、详细设计
1、结构体定义
1)、链表结点结构体
typedef struct tourist{
string name;
int id;
string sex;
struct tourist *next;
}Trist,*linklist;
左孩子区号地名游客数右孩子指向链表的指针
2)、二叉排序树结点结构体
typedef struct Tree_Place{
int area_code; //旅游地区号
string area; //旅游地名称
int count; //记录该旅游地报名游客人数struct Tree_Place *lchild,*rchild;
Trist *list; //指向游客所在单链表的指针
}Place,*TPlace;
左孩子区号地名游客数右孩子指向链表的指针