校园导游咨询程序设计报告

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

数据结构课程设计

设计题目:校园导游咨询

学院:信息学院

班级:计算机1008班

姓名:

学号: 20101221180 日期: 2012 年 3 月

校园导航问题

[问题描述]

设计一个校园导游程序,为来访的客人提供各种信息查询服务。

[基本要求]

(1)设计所在学校的校园平面图,所含景点不少于十个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等信息。

(2)为来访客人提供图中任意景点相关信息的查询。

(3)为来访客人提供图中任意景点的问路查询,即查询任意两个顶点之间的一条最短的简单路径。

(4)校园导游图的景点和道路的修改扩充功能。

(5)扩充道路信息,如道路类别(车道、人行道),以致可按客人所需分别查询人行路径或车行路径。

(6)扩充每个景点的林洁景点的方向等信息,使得路径查询结果能提供详尽的导向信息。

(7)实现校园导游的仿真界面。

校园导航问题 (2)

一、概要设计 (4)

二、详细设计 (6)

三、调试分析 (12)

四、调用关系 (12)

五、用户操作指南 (13)

[测试数据]

一、概要设计

1. 数据类型

#define V_MAX 20

#define E_MAX 200

typedef struct {

char name[10];//名字

//char code[10];//代码

char info[20];//信息,简介

int x,y;//坐标

}VType;//顶点类型

typedef struct {

int live;//标记是否存在,如果被删除则为0,存在为1

char name[10];// 路名

int length;//路的长度

char ivex[10],jvex[10];//路(边)连接的两个顶点的名字

int type;//表示道路类型,0表示两个都是,1表示人行道,2表示行车道

}EdgeType;//边类型

typedef struct AdjNode{

int length;// 弧的长度

char name[10];//关联的顶点的名字

struct AdjNode *next;//下一条弧

}AdjNode;//弧结点

typedef struct {

int live;//标记是否存在,如果被删除则为0,存在为1

int flag;//标记是否被访问过

VType data;//顶点的信息

AdjNode *first_adj;//指向该顶点的第一条弧

}VNode;//景点(顶点)结点

typedef struct {

VNode vex[V_MAX];//顶点数组

EdgeType edge[E_MAX];//边的数组

int v_num,e_num;

}Graph;//图类型

////////////////////////////////

Graph G;

AdjNode *p;

2.基本函数

////////////////////////////////

void creatGraph(Graph &G);//创建校园图

void load(Graph &G);//从文件中读取数据

void save(Graph &G);//保存数据入文件

int find_v(Graph G,char name[10]);//通过输入景点名字,返回该景点在vex数组里的下标

void print_Graph(Graph G);//以邻接矩阵的形式输出图信息

int direction(Graph G,char bname[10],char fname[10]);//用于判断并输出一个景点在另外一个景点的方位信息

void search_view(Graph G);//查询并输出景点的所有信息

void del_v(Graph &G);//删除景点

void add_v(Graph &G);//增加景点

void add_e(Graph &G)//增加道路

void modify_v(Graph &G);//修改景点信息

void del_e(Graph &G);//删除道路

二、详细设计

本程序由m.cpp、head.h、Menu.h、dijie.h4个文件构成。

1、m.cpp

主要用于调用菜单函数

#include

#include

#include

#include

#include "head.h"

#include "dijie.h"

#include "allpath.h"

#include "Menu.h"

void main()

{

load(G);

// while(1)

menu();

}

2.Menu.h

存放用于显示系统仿真界面的函数

void mobifyMenu()

{

while(1)

{

system("cls");

int choose;

printf("------------------------------------------");printf("\n");

printf(" 校园导游系统 ");printf("\n");

printf("------------------------------------------");printf("\n");

printf(" 景点或者道路信息的修改扩充 ");printf("\n");

printf("\n");

printf("------------------------------------------");printf("\n");

printf("1. 增加新景点\n");

printf("2. 删除景点\n");

printf("3. 修改景点\n");

printf("4. 增加新道路\n");

printf("5. 重新构建校园景点和路径信息\n");

相关文档
最新文档