校园导游系统(界面超级棒).doc

上传人:b****9 文档编号:80534 上传时间:2022-10-02 格式:DOC 页数:12 大小:76KB
下载 相关 举报
校园导游系统(界面超级棒).doc_第1页
第1页 / 共12页
校园导游系统(界面超级棒).doc_第2页
第2页 / 共12页
校园导游系统(界面超级棒).doc_第3页
第3页 / 共12页
校园导游系统(界面超级棒).doc_第4页
第4页 / 共12页
校园导游系统(界面超级棒).doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

校园导游系统(界面超级棒).doc

《校园导游系统(界面超级棒).doc》由会员分享,可在线阅读,更多相关《校园导游系统(界面超级棒).doc(12页珍藏版)》请在冰豆网上搜索。

校园导游系统(界面超级棒).doc

一、课程设计的目的

本实习突出了数据结构加操作的程序设计观点,希望达到熟悉各种存储机构结构的特性,以及如何应用树和图机构解决具体问题的目的。

二、课程设计内容

设计目的:

了解数据结构,熟悉图的应用,并利用迪杰斯特拉算法求得2点之间的最短路径。

设计技术参数:

(1)设计你的学校的校园平面图,所含景点不小于10个。

以图中的顶点表示学校的各个景点,存放景点名称,代号,简介等信息;以边表示路径,存放路径,存放路径的长度等相关信息。

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

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

/*********************************************************

*设计题目:

校园导游咨询系统

*设计人:

中南林业科技大学杨海波

*制导老师:

杨卫民,陈超云

*时间:

2005年7月20日

*********************************************************/

/*程序中用到的库函数所在头文件应用#include命令包含进来*/

#include"stdio.h"

#include"math.h"

#include"graphics.h"

#include"conio.h"/*gotoxy*/

#include"bios.h"

/**********************************************************/

/*定义符号常量*/

#defineNULL0

#definenum20

#definemaxdist10000

/**********************************************************/

/*定义数据结构*/

typedefstruct{

chardata[num];

doubleedges[num][num];

}graph;

/**********************************************************/

/*定义全局变量*/

intx[num],y[num];

chara[num],ab[num][num];

/**********************************************************/

/*自定义函数原型说明*/

voidshowmsg(charmsg[]);/*逐步显示文字*/

voiddijkstra(graphg,intn,inti,intd[num],intp[num]);

voidopdijk(intv1,intv0,intn,intd[],intp[]);

voidinfo_welcome();

/**********************************************************/

/*功能:

逐步显示文字*/

voidshowmsg(charmsg[]){

inti=0;

while(msg[i]!

=’\0’){

printf("%c",msg[i]);

i++;

delay(30000);

}

}

/**********************************************************/

/*功能:

用迪杰思特拉算法求图的最短路径*/

voiddijkstra(graphg,intn,inti,intd[num],intp[num]){

ints[num];

doublemindist,dist;

intj,k,u,w;

for(j=0;j

{d[j]=g.edges[i][j];

s[j]=0;

if((d[j]

=0))

p[j]=i;/*可到达的路径*/

else

p[j]=-1;/*设空路径*/

}

s[i]=1;

for(j=0;j

{mindist=maxdist;

u=i;

for(k=0;k

if((s[k]==0)&&(d[k]

{u=k;

mindist=d[k];

}

s[u]=1;

for(k=0;k

{if(s[k]==0)

{dist=d[u]+g.edges[u][k];

if(dist

{d[k]=dist;

p[k]=u;

}

}

}

}

}

/**********************************************************/

/*功能:

打印出图的最短路径*/

voidopdijk(intv1,intv0,intn,intd[],intp[]){

inti,i_1,j,k,pre;

intpoint_x,point_y;

for(i=0;i

if(i!

=v0&&i==v1){

gotoxy(5,24);

printf("%c",a[i]);

point_x=x[i];

point_y=y[i];

pre=p[i];

while(pre!

=-1){

setcolor(RED);

/**********************************/

/**闪烁终点的颜色*/

for(i_1=0;i_1<10;i_1++)

{

setcolor(GREEN);

circle(x[pre]*30,y[pre]*30,3);

delay(90000);

setcolor(RED);

circle(x[pre]*30,y[pre]*30,3);

delay(90000);

setcolor(GREEN);

line(point_x*30,point_y*30,x[pre]*30,y[pre]*30);

delay(90000);

setcolor(RED);

line(point_x*30,point_y*30,x[pre]*30,y[pre]*30);

delay(90000);

}

/**********************************/

point_x=x[pre];

point_y=y[pre];

printf("-->%c",a[pre]);/****************************/

pre=p[pre];

}

if(d[i]==maxdist)

/*line(point_x*30,point_y*30,x[v0]*30,y[v0]*30);*/

printf("-->%c",a[v0]);

/*printf("\tshortestway:

%5f",d[i]);*/

}

}

/******************************************************/

/*功能:

打印出程序的帮助和欢迎信息*/

voidinfo_welcome(){

inti,j;

char*Msg[]=

{

"WelcometoCSFU!

",

"",

"ADDRESS:

CentralSouth",

"ForestryUniversity",

"Changsha,Hunan,China",

"",

"TEL:

+86-731-5623172",

"",

"",

"[HELP]",

"FindOUTTHESHORTEST",

"PATH:

Forf",

"",

"EXIT:

Qorq",

NULL,

};

/*显示操作键说明*/

i=0;

textcolor(WHITE);

delay(90000);

while(Msg[i]!

=NULL)

{

gotoxy(56,3+i);

printf(Msg[i]);

i++;

}

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

textcolor(GREEN);

gotoxy(5,18);

i=0;

showmsg("Welcometouseschool_wizard.");

gotoxy(5,20);

showmsg("Youcanchoose’F’or’Q’:

");

}

/***************************************************/

/*功能:

*/

main(){

graphg;

inti,j,k,n,m,i_1,i_2,i_3;

intdriver,mode;

introad_x,road_y;

charnu,b,i_str,m_str;

intd[num],p[num],sd[num][num],sp[num][num];

FILE*map_f,*road_f;

clrscr();

/*初始化变量g.edges[][]*/

for(i_1=0;i_1

for(i_2=0;i_2

g.edges[i_1][i_2]=maxdist;

}

}

/*********************************************************/

/*读取文件map.dat(园地图的景

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1