校园导游系统界面超级棒Word文档下载推荐.docx

上传人:b****1 文档编号:3742328 上传时间:2023-05-02 格式:DOCX 页数:18 大小:17.86KB
下载 相关 举报
校园导游系统界面超级棒Word文档下载推荐.docx_第1页
第1页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第2页
第2页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第3页
第3页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第4页
第4页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第5页
第5页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第6页
第6页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第7页
第7页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第8页
第8页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第9页
第9页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第10页
第10页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第11页
第11页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第12页
第12页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第13页
第13页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第14页
第14页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第15页
第15页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第16页
第16页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第17页
第17页 / 共18页
校园导游系统界面超级棒Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

校园导游系统界面超级棒Word文档下载推荐.docx

《校园导游系统界面超级棒Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《校园导游系统界面超级棒Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

校园导游系统界面超级棒Word文档下载推荐.docx

/*定义数据结构*/

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<

n;

j++)

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

s[j]=0;

if((d[j]<

maxdist)&

&

(d[j]!

=0))

p[j]=i;

/*可到达的路径*/

else

p[j]=-1;

/*设空路径*/

s[i]=1;

n-1;

{mindist=maxdist;

u=i;

for(k=0;

k<

k++)

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

(d[k]<

mindist))

{u=k;

mindist=d[k];

s[u]=1;

{if(s[k]==0)

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

if(dist<

d[k])

{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<

i++)

if(i!

=v0&

i==v1){

gotoxy(5,24);

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);

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

point_x=x[pre];

point_y=y[pre];

-->

a[pre]);

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

pre=p[pre];

if(d[i]==maxdist)

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

*/

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);

while(Msg[i]!

=NULL)

gotoxy(56,3+i);

printf(Msg[i]);

\n\n\n"

);

textcolor(GREEN);

gotoxy(5,18);

showmsg("

Welcometouseschool_wizard."

gotoxy(5,20);

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[][]*/

num;

i_1++){

for(i_2=0;

i_2<

i_2++){

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

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

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

描绘校园地图的路径*/

if((map_f=fopen("

map.dat"

"

r"

))==0){

Cannotopenthefileofmap.dat.\n"

exit

(1);

fscanf(map_f,"

%d"

&

n);

i++){

nu);

a[i]);

x[i]);

y[i]);

fclose(map_f);

/*在屏幕上描绘校园地图的景点*/

loop:

driver=VGA,mode=VGAHI;

initgraph(&

driver,&

mode,"

setbkcolor(BLUE);

setfillstyle(1,62);

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

floodfill(x[i]*30,y[i]*30,WHITE);

gotoxy(x[i]*4+2,y[i]*2);

a[%d]=%c\nx[%d]=%d\ty[%d]=%d\n"

i,a[i],i,x[i],i,y[i]);

/*调试校园地图的景点*/

setcolor(BROWN);

rectangle(3,3,n*30+100,(n-2)*30);

rectangle(n*30+100,3,getmaxx()-3,(n-2)*30);

n=%d\n"

n);

/*调用其他函数*/

info_welcome();

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

/*读取文件road.dat(园地图的路径)*/

for(i=0;

g.edges[i][j]=maxdist;

if((road_f=fopen("

road.dat"

Cannotopenthefileofroad.dat.\n"

fscanf(road_f,"

b);

\n%c"

b);

if(b==’@’){

ab[i][0]=b;

if(b==a[i_1]){

/*road_x=x[i_1];

road_y=y[i_1];

break;

\n1%c,%d,%d"

a[i_1],road_x,road_y);

for(i_3=0;

i_3<

i_3++){

if(b==a[i_3]){

ab[i][i_2+1]=b;

setcolor(WHITE);

line(x[i_1]*30,y[i_1]*30,x[i_3]*30,y[i_3]*30);

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

g.edges[i_1][i_3]=hypot((double)(x[i_1]-x[i_3]),(double)(y[i_1]-y[i_3]));

\n2%d,%d%c,%d,%d"

road_x,road_y,a[i_3],x[i_3],y[i_3]);

}else{

fclose(road_f);

/*clrscr();

/*

\n"

%3f"

g.edges[i_1][i_2]);

\t"

%d,%d"

x[i_1],y[i_1]);

/*循环等待用户输入*/

do{

switch(toupper(getchar())){

case’Q’:

exit(0);

case’F’:

{

getchar();

gotoxy(100,n);

a[%d]=%c\n"

i_1,a[i_1]);

gotoxy(5,21);

WhereareyouNOW?

:

/*scanf("

m);

scanf("

m_str);

if(toupper(m_str)==a[i_1]){

m=i_1;

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

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

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

gotoxy(5,22);

WhereareyouGO?

i);

i_str);

if(toupper(i_str)==a[i_1]){

i=i_1;

gotoxy(5,23);

TheshortestpathFROM%cTO%cis:

a[i],a[m]);

dijkstra(g,n,i,d,p);

opdijk(m,i,n,d,p);

system("

pause"

clrscr();

gotoloop;

;

}while

(1);

附件:

文件名:

map.dat(用TAB键隔开)

11

A106

B84

C51

D53

E55

F56

G57

H46

I24

J14

K18

map.dat文件数据

map.dat文件的解释

总共有多少个景点

AX坐标Y坐标

BX坐标Y坐标

CX坐标Y坐标

DX坐标Y坐标

EX坐标Y坐标

FX坐标Y坐标

GX坐标Y坐标

HX坐标Y坐标

IX坐标Y坐标

JX坐标Y坐标

KX坐标Y坐标

road.dat

@AEBFG

@BCDEA

@CDB

@DCEB

@EDIHFAB

@FEHGA

@GFHKA

@HIKGFE

@IJHDC

@JKI

@KJGH

本文来自CSDN博客,转载请标明出处:

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

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2