(交通运输)交通图咨询查询系统数据结构(C语言).

  • 格式:docx
  • 大小:157.28 KB
  • 文档页数:60

下载文档原格式

  / 60
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科学与工程学院《结构数据》

课程设计报告

课程设计名称:交通咨询系统

专业班级:计算机xxx

学生姓名:xxx

学号:2015xxxx

指导教师:xx

课程设计时间:2016.07.04 —2016.07.08

计算机应用技术专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

填表说明1 .“课题性质” 一栏:

A.工程设计;

B.工程技术研究;

C.软件工程(如CAI 课题等);

D.文献型综述;

E.其它。

2 .“课题来源” 一栏:

A.自然科学基金与部、省、市级以上科研课题;

B.企、事业单位委托课题;

C.校、院(系、部)级基金课题;

D.自拟课题

目录

1 需求分析 (1)

1.1 添加交通图信息 (1)

1.2 查询单源最短路径 (1)

1.3 查询多源最短路径 (1)

1.4 更新交通图信息 (2)

1.6 读取、保存信息 (2)

2 概要设计 (3)

2.1 数据类型的定义 (3)

2.2 功能模块结构图 (4)

3 运行环境 (6)

4 开发工具和编程语言 (6)

5 详细设计 (7)

5.1 图结构的基本操作 (7)

5.1.1 添加城市结点和路径结点 (8)

5.1.2 修改城市结点和路径结点 (8)

5.1.3 删除城市结点和路径结点 (8)

5.1.4 退出保存 (8)

5.2 迪杰斯特拉算法的实现 (8)

5.2.1 迪杰斯特拉算法函数 (8)

5.2.2 提取迪杰斯特拉函数信息 (8)

5.2.3 求多源最短路径 (8)

6 程序编码 (9)

7 运行结果................................................................ 4..1

8 心得体会................................................................ 4..6

9 参考文献................................................................ 4..7

1 需求分析

本系统中的数据来源于标准输入设备(如键盘)和文件,可以实现对交通图城市、城市到其余城市的距离的操作,根据需要可查询某两个城市之间的最短距离、城市到各城市的最短距离,各个城市到各个城市的最短距离,以及路径。本系统要实现的功能有:添加城市和城市间距离,删除城市及城市间距离,修改城市间距离,查询城市间的最短路径,查询某个城市到某个城市的最短路径。具体如下:

1.1 添加交通图信息

能录入新数据(城市和路径)。当录入了重复的城市和路径时,则提示数据录入重复并取消录入;当交通图中超过15 个城市时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

1.2 查询单源最短路径

能够实现输入起点城市名后,查询出其到各个城市的最短路径,输出该城市到的其他所有的城市的最短路径。

1.3 查询多源最短路径

输入起点城市名和终点城市名,查询出两个城市的最短路径,并输出该最

短路径。

1.4 更新交通图信息

根据给定的城市名能够修改该城市的名字。或者输入两个城市,修改一条路径的距离。

1.5 删除交通图信息

根据输入的城市名,删除与该城市有关的所有路径。输入两个城市可以删除一条路径。

1.6 读取、保存信息

能够实现退出系统时把交通图中的信息保存在一个文件中,在程序瑕疵运行时能够读取出来。

2 概要设计

2.1 数据类型的定义

1. 定义交通图城市的元素类型

typedef struct _city{

char name[10]; 城市名

struct _path * firstpath ;// 第一个路径}AdjList[15],CityNode;

2. 定义交通图的路径元素类型

typedef struct _path{

int adjcity// 邻接点域

int distance ;// 距离

struct _path *nextpath ;// 下一个路径}PathNode,*PathPtr;

3. 定义交通图类型

typedef struct {

int cities;

int paths;

AdjList list ;

}Graph ;

4. 全局变量

PList head;

typedef int PathMatrix;

typedef int ShortPathTable;

PathMatrix P[MAX_CITIES][MAX_CITIES];

ShortPathTable D[MAX_CITIES];

2.2 功能模块结构图

根据需求分析,为了满足用户的功能需求,按照软件开发方法学中的模块划分原则,我将本系统主要划分为如下模块:操作交通图信息,和查询交通图路径两大模块。各模块之间的关系如图1 所示。

图 1 模块结构图为了实现上述功能模块,分别在顺序表和单链表物理结构上定义了多个函数,本系统定义的函数和功能如下:

1. 数据结构部分部分

void initalize_graph(Graph *G)

功能为:图初始化,即生成一个空图。

功能为:图的创建,用图存储数据。

相关主题