校园导游系统(界面超级棒)Word格式文档下载.doc

上传人:聆听****声音 文档编号:338316 上传时间:2023-04-28 格式:DOC 页数:12 大小:76KB
下载 相关 举报
校园导游系统(界面超级棒)Word格式文档下载.doc_第1页
第1页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第2页
第2页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第3页
第3页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第4页
第4页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第5页
第5页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第6页
第6页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第7页
第7页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第8页
第8页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第9页
第9页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第10页
第10页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第11页
第11页 / 共12页
校园导游系统(界面超级棒)Word格式文档下载.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

校园导游系统(界面超级棒)Word格式文档下载.doc

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

校园导游系统(界面超级棒)Word格式文档下载.doc

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;

for(k=0;

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

printf("

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

printf("

-->

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

delay(90000);

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

for(i_1=0;

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

for(i=0;

i++){

fscanf(map_f,"

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

/*printf("

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

/*printf("

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==’@’){

fscanf(road_f,"

/*printf("

ab[i][0]=b;

for(i_1=0;

if(b==a[i_1]){

/*road_x=x[i_1];

road_y=y[i_1];

break;

/*printf("

\n1%c,%d,%d"

a[i_1],road_x,road_y);

}

if(b==’@’){

break;

}

}

for(i_2=0;

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

/*printf("

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

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

}

if(b==’@’){

}else{

for(i_2=0;

if(b==’@’){

break;

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

showmsg("

WhereareyouNOW?

:

/*scanf("

m);

scanf("

m_str);

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

m=i_1;

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

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

{

setcolor(GREEN);

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

delay(90000);

setcolor(RED);

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

gotoxy(5,22);

WhereareyouGO?

i);

i_str);

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

i=i_1;

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

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

gotoxy(5,23);

printf("

TheshortestpathFROM%cTO%cis:

a[i],a[m]);

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

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

system("

pause"

clrscr();

gotoloop;

break;

;

}while

(1);

附件:

文件名:

map.dat(用TAB键隔开)

11

A106

B84

C51

D53

E55

F56

G57

H46

I24

J14

K18

map.dat文件数据

map.dat文件的解释

A106

B84

C51

D53

E55

F56

G57

H46

I24

J14

K18

总共有多少个景点

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