数据结构课程设计之导游程序_第1页
数据结构课程设计之导游程序_第2页
数据结构课程设计之导游程序_第3页
数据结构课程设计之导游程序_第4页
数据结构课程设计之导游程序_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计的目的和意义《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:

(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;

(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;

(3)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

(4)训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

(5)锻炼动手操作能力,培养我们的创新思维能力。从编写代码,到调试程序,再到运行程序,这是设计的最重要环节,它需要我们用逻辑思维将我们所学知识和实际相结合,并在对方案的分析过程中能够有所创新,从而使运行方案更严谨更简洁。培养好良好的思维,便要将这种思维赋予实践,即动手操作能力。目前,市场上关于计算机运用、计算机软件和电子类相关专业的人才辈出,但毕业生在走进企业公司政府机构或研究单位之后,感觉到缺乏实际开发设计项目的经验,所以我们在课程设计中能够多训练,提高我们将知识融会贯通的能力

(6)培养我们严谨治学的态度,以及认清自己学知识、运用知识的能力。

不管是编写代码,调试代码,还是运行代码,需要我们严谨的思维和态度去对待,这样才能真正起到此设计的作用。我们也能够在设计中认识到自己对数据结构这门课程学习的欠缺,对以后我们的学习有着很大的指导和帮助。

学习课程设计,编写程序,将数据结构和算法相结合,了解到数据结构、算法和程序之间的关系,更是学习到数据结构和算法的最佳定位攀枝花学院学生课程设计(论文)需求分析2需求分析2.1需求分析概述当我们参观校园时,会遇到如下问题:从当前所处位置去校园另外一个位置,要走什么样的路线距离最短?本课程设计任务要求,在给出校园各主要建筑的名称信息及有路线连通的建筑之间的距离的基础上,利用校园导游系统计算出给定起点到终点之间距离最近的行进路线。在校园导游程序中,用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。2.2功能需求分析本次课题是校园导游程序的设计与实现。主要是通过C++语言和数据结构算法实现,主要有以下功能:查询各景点的相关信息;查询图中任意两个景点间的最短路径。查询图中任意两个景点间的所有路径。增加、删除、更新有关景点和道路的信息。2.3数据需求分析根据系统功能,本系统需要对地图的信息进行提取。校园导航系统是以数据结构当中图的相关知识来设计的系统。将校园景点作为图的节点,各个顶点之间的路径作为图的边,边之间的距离作为节点间的权值,抽象成一个无向有权图。设计出能快速找到一个景点到另一个景点的最短路径及最短距离,帮助人们来更方便的查找各个学校景点,便于参观。2.4系统功能模块根据功能分析,系统功能模块图如图1所示:攀枝花学院学生课程设计(论文)整体设计3整体设计3.1功能结构设计本系统实现对校园导游程序的设计,主要包括4个功能模块,其功能结构如图所示。3.2数据结构设计//攀枝花学院校园管理系统//2023/6/12#include<stdio.h>#include<stdlib.h>#include<string.h>#defineInfinity65535 //表示无穷大#defineMaxNumber23 //用于邻接矩阵#definevertex15 //顶点个数typedefstructside//边的权值{ intwet;//权值}side,wetmatrix[MaxNumber][MaxNumber];//边的邻接矩阵类型typedefstructvetinf//顶点信息{ intnumber;//顶点编号 charname[64];//顶点名称 charintro[256];//顶点介绍}vetinf;typedefstructmapstr//图结构信息{ vetinfvets[MaxNumber];//顶点数组 wetmatrixmat;//邻接矩阵 intvetnum,sidenum;}mapstr;//全局变量mapstrcampus;//图结构变量(学校校园)intd[30];intvisited[50];intshortest[MaxNumber][MaxNumber];//定义全局变量存储最小路径intpathh[MaxNumber][MaxNumber];//定义存储路径4功能实现4.1完整程序源代码//攀枝花学院校园管理系统//2023/6/12#include<stdio.h>#include<stdlib.h>#include<string.h>#defineInfinity65535 //表示无穷大#defineMaxNumber23 //用于邻接矩阵#definevertex15 //顶点个数typedefstructside//边的权值{ intwet;//权值}side,wetmatrix[MaxNumber][MaxNumber];//边的邻接矩阵类型typedefstructvetinf//顶点信息{ intnumber;//顶点编号 charname[64];//顶点名称 charintro[256];//顶点介绍}vetinf;typedefstructmapstr//图结构信息{ vetinfvets[MaxNumber];//顶点数组 wetmatrixmat;//邻接矩阵 intvetnum,sidenum;}mapstr;//全局变量mapstrcampus;//图结构变量(学校校园)intd[30];intvisited[50];intshortest[MaxNumber][MaxNumber];//定义全局变量存储最小路径intpathh[MaxNumber][MaxNumber];//定义存储路径//1.图的初始化mapstrinitmap(){ mapstrm;//构件图m inti=0,j=0; m.vetnum=15;//定义顶点个数 m.sidenum=23;//定义边的条数 for(i=1;i<=vertex;i++)//依次设置顶点信息 m.vets[i].number=i; //输入顶点信息 strcpy(m.vets[1].name,"西苑宿舍");strcpy(m.vets[1].intro,"位于学校最西端,学生住宿场所"); strcpy(m.vets[2].name,"西苑餐厅");strcpy(m.vets[2].intro,"为西苑学生提供就餐场所"); strcpy(m.vets[3].name,"公路");strcpy(m.vets[3].intro,"连接东苑与西苑"); strcpy(m.vets[4].name,"会堂");strcpy(m.vets[4].intro,"学校举办会议等活动的场所"); strcpy(m.vets[5].name,"田径场");strcpy(m.vets[5].intro,"学校体育场"); strcpy(m.vets[6].name,"南苑宿舍");strcpy(m.vets[6].intro,"南苑学生住宿场所"); strcpy(m.vets[7].name,"南苑食堂");strcpy(m.vets[7].intro,"有三大食堂,为南苑学生提供就餐场所"); strcpy(m.vets[8].name,"玉兰园");strcpy(m.vets[8].intro,"在这里可以欣赏到学校的一处优美的景色"); strcpy(m.vets[9].name,"静明湖");strcpy(m.vets[9].intro,"学校的湖,景色优美"); strcpy(m.vets[10].name,"篮球场");strcpy(m.vets[10].intro,"位于学校最东端,为学生打球场所"); strcpy(m.vets[11].name,"产教融合大楼");strcpy(m.vets[11].intro,"这里有学校的信息楼,科技楼,化学楼"); strcpy(m.vets[12].name,"图书馆");strcpy(m.vets[12].intro,"这里是学生看书学习的场所"); strcpy(m.vets[13].name,"教学楼");strcpy(m.vets[13].intro,"学生上课学习的场所"); strcpy(m.vets[14].name,"励志楼");strcpy(m.vets[14].intro,"这里是辅导员所在的办公楼"); strcpy(m.vets[15].name,"分析测试中心");strcpy(m.vets[15].intro,"刚步入学校南门的大楼,学生上课以及校园网服务中心"); for(i=1;i<=vertex;i++) for(j=1;j<=vertex;j++) m.mat[i][j].wet=Infinity;//初始化图的邻接矩阵 m.mat[1][2].wet=10;m.mat[2][3].wet=40;m.mat[3][4].wet=20;m.mat[3][8].wet=40;m.mat[3][11].wet=30; m.mat[4][5].wet=20;m.mat[4][8].wet=20;m.mat[5][6].wet=30;m.mat[5][8].wet=30;m.mat[6][7].wet=10; m.mat[6][9].wet=70;m.mat[7][9].wet=60;m.mat[7][10].wet=40;m.mat[8][9].wet=45;m.mat[9][10].wet=35; m.mat[9][13].wet=25;m.mat[9][14].wet=30;m.mat[10][14].wet=20;m.mat[11][12].wet=30;m.mat[11][15].wet=50; m.mat[12][13].wet=20;m.mat[12][15].wet=10;m.mat[13][14].wet=40; for(i=1;i<=vertex;i++)//无向带权图是对称矩阵,给其另一半赋值 for(j=1;j<=vertex;j++) m.mat[j][i].wet=m.mat[i][j].wet; returnm;}//2.查询景点在图中的序号intlocatevet(mapstrm,intv){ inti; for(i=0;i<=m.vetnum;i++) if(v==m.vets[i].number)returni;//找到返回顶点i return-1;//未找到}//3.查询输入序号l,n间的长度不超过10个景点的路径voidpath(mapstrm,intl,intn,intk){ ints,t=k+1;intlength=0;//t用于存储路径上下一顶点对应的d[]数组元素的下标 if(d[k]==n&&k<8)//若d[k]是终点且景点个数<8,则输出该路径 { for(s=0;s<k;s++) { length=length+m.mat[d[s]][d[s+1]].wet; } if(length<200)//打印路径小于200(定长)的路径 { for(s=0;s<k;s++)//输出该路径,s=0时为起点m { printf("%d%s>",d[s],m.vets[d[s]].name); } printf("%d%s",d[s],m.vets[d[s]].name);//输出最后一个顶点 printf("总路线长为%d米\n\n",length); } } else { s=1; while(s<=m.vetnum)//从第m个顶点,访问所有顶点是否有路径 { if((m.mat[d[k]][s].wet<Infinity)&&(visited[s]==0))//顶点有边且未被访问 { visited[s]=1; d[k+1]=s;//存储顶点编号 path(m,l,n,t); visited[s]=0;//将找到的路径上的顶点的访问标志重新设置为,便于探究新的路径 } s++;//试验下一顶点s开始是否有到终点的路径; } }}//4.查询两景点的所有路径intallpath(mapstrm){ intk,i,j,l,n; printf("\n\n请输入您想要查询的两个景点的编号:\n\n"); scanf("%d%d",&i,&j);printf("\n\n"); l=locatevet(m,i);//locatevet确定该顶点是否存在。若存在,返回该顶点编号。 n=locatevet(m,j); d[0]=l;//路径起点l(字母).(d[]数组为全局变量) for(k=0;k<vertex;k++) visited[k]=0; visited[l]=1; path(m,l,n,0); return1;}//5.迪杰斯特拉算法求单源最短路径voidshortestpath(mapstrm){ intv0,v,w,k=1,min,t,p; intfinal[MaxNumber];//final[w]=1表示已经求得顶点V0到Vw的的最短路径 intPathside[MaxNumber];//用于存储最短路径下标的数组 intShortPathwet[MaxNumber];//用于存储到各点最短路径的权值和 printf("\n请输入起始景点的编号:"); scanf("%d",&v0); printf("\n\n"); while(v0<0||v0>vertex)//判断是否输入正确 { printf("\n您输入的景点编号不存在\n"); printf("请重新输入:"); scanf("%d",&v0); } for(v=1;v<=m.vetnum;v++)//数组初始化 { final[v]=0;//全部顶点初始化为未找到路径 ShortPathwet[v]=m.mat[v0][v].wet;//将与v0有连线的路径加上权值 Pathside[v]=0;//初始化路径数组为0 } ShortPathwet[v0]=0; final[v0]=1; //Dijkstr算法主体 for(v=1;v<=m.vetnum;v++) { min=Infinity; for(w=1;w<=m.vetnum;w++)//找出离当前指向顶点最近的点 { if(!final[w]&&ShortPathwet[w]<min)//未被访问且存在边 { k=w; min=ShortPathwet[w]; } } final[k]=1;//将找到的离当前顶点最近的置1 //修正 for(w=1;w<=m.vetnum;w++) { if(!final[w]&&(min+m.mat[k][w].wet<ShortPathwet[w])) { ShortPathwet[w]=min+m.mat[k][w].wet;//修改当前最优路径长度 Pathside[w]=k;//存放前驱结点 } } } printf("打印P数组:"); //打印p数组 for(t=1;t<=m.vetnum;t++) { printf("%d",Pathside[t]); } printf("\n\n"); printf("打印S数组:"); //打印s数组 for(t=1;t<=m.vetnum;t++) { printf("%d",ShortPathwet[t]); } printf("\n\n"); //打印最短路径 for(t=1;t<=m.vetnum;t++) { p=t; if(t!=v0) { printf("%d%s",t,m.vets[t].name); for(w=1;w<=m.vetnum;w++) { if(Pathside[p]!=0) { printf("<--%d%s",Pathside[p],m.vets[p].name); p=Pathside[p]; } } printf("<--%d%s",v0,m.vets[v0].name); printf("\n总路线长为%d米\n\n",ShortPathwet[t]); } }}//6.主页voidmenu(){ printf("┌──────────────────────────────────────────────────────┐\n"); printf("│╭═══════════════════════════════════════════════╮|\n"); printf("││*******欢迎使用校园导游系统*******|\n"); printf("│╰═══════════════════════════════════════════════╯│\n"); printf("│欢迎来到攀枝花学院│\n"); printf("│WelcometoPanzhihuaCollege!│\n"); printf("│菜单选择│\n"); printf(│***************************************************│\n"); printf("│*1.主页**2.查看游览路线*│\n"); printf("│***************************************************│\n"); printf("│*3.查询景点间最短路径**4.查询景点间所有路径*│\n"); printf("│***************************************************│\n"); printf("│*5.学校景点介绍**6.学校地图*│\n"); printf("│***************************************************│\n"); printf("│*7.更改图信息**0.退出*│\n"); printf(│***************************************************│\n"); printf("└──────────────────────────────────────────────────────┘\n");}//以下是修改图的相关信息。//7.重新构造图intcreatmap(mapstr*m){ inti,j,l,n,v0,v1,distance; printf("请输入图的顶点数和边数:\n"); scanf("%d%d",&m->vetnum,&m->sidenum); printf("请输入顶点信息:\n"); for(i=0;i<=m->vetnum;i++)//输入各顶点对应的景点信息 { printf("请输入景点编号:"); scanf("%d",&m->vets[i].number); printf("请输入景点名称:"); scanf("%s",&m->vets[i].name); scanf("请输入景点简介:"); scanf("%s",&m->vets[i].intro); } for(i=0;i<=m->vetnum;i++)//权值初始化为无穷 for(j=0;j<=m->vetnum;j++) m->mat[i][j].wet=Infinity; printf("请输入图中各景点边的信息\n"); for(i=1;i<=m->sidenum;i++) { printf("\n请输入第%d条边的起点,终点,长度为:",i); scanf("%d%d%d",&v0,&v1,&distance); l=locatevet(campus,v0); n=locatevet(campus,v1); if(l>0&&n>0) { m->mat[l][n].wet=distance; m->mat[n][l].wet=m->mat[l][n].wet; } } return1;}//8.更改图部分信息intnewmap(mapstr*m){ intchangenum,i,l,n,t,distance,v0,v1; printf("\n下面请输入你要修改的景点的个数:\n");//修改定点对应的景点 scanf("%d",&changenum); while(changenum<0||changenum>vertex) { printf("\n你的输入有误,请重新输入"); scanf("%d",&changenum); } for(i=0;i<changenum;i++) { printf("\n请输入景点编号:"); scanf("&d",&l); t=locatevet(campus,l); printf("\n请输入修改后景点的名称:"); scanf("%s",&m->vets[t].name); printf("\n请输入修改后景点的简介:"); scanf("%s",&m->vets[t].intro); } printf("\n下面请输入你要修改的边的个数"); scanf("%d",&changenum); while(changenum<0||changenum>vertex); { printf("\n你的输入有误,请重新输入"); scanf("%d",&changenum); } if(changenum!=0) printf("\n下面请输入更新边的信息:\n"); for(i=1;i<=changenum;i++) { printf("\n修改的第%d条边的起点终点长度为:",i); scanf("%d%d%d",&v0,&v1,&distance); l=locatevet(campus,v0); n=locatevet(campus,v1); if(l>=0&&n>=0) { m->mat[l][n].wet=distance; m->mat[n][l].wet=m->mat[l][n].wet; } } return1;}//9.增加一条边intincside(mapstr*m){ intl,n,distance; printf("\n请输入边的起点和终点编号,权值:"); scanf("%d%d%d",&l,&n,&distance); while(l<0||l>m->vetnum||n<0||n>m->vetnum) { printf("输入错误,请重新输入"); scanf("%d%d",&l,&n); } if(locatevet(campus,l)<0) { printf("此节点%d已删除",l); return1; } if(locatevet(campus,n)<0) { printf("此节点%d已被删除",n); return1; } m->mat[l][n].wet=distance; m->mat[n][l].wet=m->mat[l][n].wet; m->sidenum++; return1;}//10.增加一个结点intincvet(mapstr*m){ inti; m->vetnum++;//顶点数加一 printf("请输入您要增加结点的信息:"); printf("\n编号:"); scanf("%d",&m->vets[m->vetnum].number); printf("名称:"); scanf("%s",&m->vets[m->vetnum].name); printf("简介:"); scanf("%s",&m->vets[m->vetnum].intro); for(i=1;i<=m->vetnum;i++) { m->mat[m->vetnum][i].wet=Infinity; m->mat[i][m->vetnum].wet=Infinity; } return1;}//11.删除一个结点intdelvet(mapstr*m){ inti=0,j,l,v; if(m->vetnum<=0) { printf("图中已无顶点"); return1; } printf("\n下面请输入您要删除的景点编号:"); scanf("%d",&v); while(v<0||v>m->vetnum) { printf("\n输入错误!请重新输入:"); scanf("%d",&v); } l=locatevet(campus,v); if(l<0) { printf("顶点%d已删除\n",v); return1; } for(i=l;i<=m->vetnum-1;i++) for(j=1;j<=m->vetnum;j++)//将二维数组中的第m+1行依次向前移动一行(删除第m行) m->mat[i][j]=m->mat[i+1][j]; for(i=l;i<=m->vetnum-1;i++) for(j=1;j<=m->vetnum;j++)//将二维数组中的第m+1列依次向前移动一列(删除第m列) m->mat[j][i]=m->mat[j][i+1]; m->vets[v].number=-1;//表示此点已删除,后期打印也不会显示该点 m->vetnum--;//顶点个数-1 return1;}//12.删除一条边intdelside(mapstr*m){ intl,n,v0,v1; if(m->vetnum<=0) { printf("图中没有边了,无法删除"); return1; } printf("\n下面请输入您要删除的边的起点和终点编号:"); scanf("%d%d",&v0,&v1); l=locatevet(campus,v0); if('m'<0) { printf("此%d顶点已删除",v0); return1; } n=locatevet(campus,v1); if(n<0) { printf("此%d顶点已删除",v1); return1; } m->mat[l][n].wet=Infinity;//将删掉的边的权值改为无穷 m->mat[n][l].wet=Infinity; m->sidenum--;//图的边数减一 return1;}//13.输出图的邻接矩阵的值voidprintmapstr(mapstrm){ inti,j,k=0; for(i=1;i<=vertex;i++) { if(m.vets[i].number!=-1) printf("%6d",i); } printf("\n"); for(i=1;i<=m.vetnum;i++) { for(j=1;j<=m.vetnum;j++) { if(m.mat[i][j].wet==Infinity) printf("****"); else printf("%6d",m.mat[i][j].wet); k++; if(k%m.vetnum==0) printf("\n"); } }}//14.图的操作主函数intchangemap(mapstr*m){ intchoice; printf("(1)重新建图(2)删除结点(3)删除边\n"); printf("(4)增加结点(5)增加边(6)更新信息\n"); printf("(7)输出邻接矩阵(8)返回主页 \n"); do { printf("请输入你的选择:"); scanf("%d",&choice); switch(choice) { case1:creatmap(m);break; case2:delvet(m);break; case3:delside(m);break; case4:incvet(m);break; case5:incside(m);break; case6:newmap(m);break; case7:printmapstr(campus);break; case8:system("cls");menu();return1; default:printf("未找到该功能,请输入有效选项!\n");break; } }while(choice);}//15.用户登录intuserlog(){ inti; inta[6]={1,2,3,4,5,6},b[6]; printf("\n请输入六位密码(用空格隔开):\n"); for(i=0;i<6;i++) scanf("%d",&b[i]); for(i=0;i<6;i++) { if(a[i]!=b[i]) { printf("密码错误!自动返回主页面\n"); menu(); return0; } } printf("密码正确,登陆成功!\n\n"); changemap(&campus);}//16.弗洛伊德算法voidfloyd(mapstrm){ inti,j,k; for(i=1;i<=vertex;i++)//将图的邻接矩阵赋值给shortest二维数组,将矩阵pathh全部初始化为-1 { for(j=1;j<=vertex;j++) { shortest[i][j]=m.mat[i][j].wet; pathh[i][j]=j; } } intii,jj,k1=0; for(ii=1;ii<=vertex;ii++) printf("%6d",ii);//横着标号1到11 printf("\n"); for(ii=1;ii<=vertex;ii++) { printf("%d",ii); for(jj=1;jj<=vertex;jj++) { printf("%6d",pathh[ii][jj]); k1++; if(k1%vertex==0) printf("\n"); } } printf("\n\n\n"); for(k=1;k<=vertex;k++)//核心操作,完成了以k为中间点对所有的顶点对(i,j)进行检测和修改 { for(i=1;i<=vertex;i++) { for(j=1;j<=vertex;j++) { if(shortest[i][j]>shortest[i][k]+shortest[k][j]) { shortest[i][j]=shortest[i][k]+shortest[k][j]; pathh[i][j]=pathh[i][k];//记录一下所走的路//P数组用来存放前驱顶点 } } } }//17.输出数组voidprintarray(){ inti,j,k=0; for(i=1;i<=vertex;i++) printf("%6d",i);//横着标号0-11 printf("\n"); for(i=0;i<=vertex;i++) { printf("%d",i);//竖着标号0-11 for(j=1;j<=vertex;j++) { printf("%6d",pathh[i][j]); k++; if(k%vertex==0) printf("\n"); } } printf("\n\n\n");}//18.输出最短路径voiddisplay(mapstrm,inti,intj){ inta,b; a=i,b=j; printf("您要查询的两景点间最短路径:\n\n"); printf("%d%s",a,m.vets[a].name); while(pathh[i][j]!=b) { printf("-->%d%s",pathh[i][j],m.vets[pathh[i][j]].name); i=pathh[i][j]; } printf("-->%d%s\n\n",b,m.vets[b].name); printf("%s-->%s的最短路径是:%d米\n\n",m.vets[a].name,m.vets[b].name,shortest[a][b]);}//19任意两点间距离(16-19)intshortdistance(mapstrm){ inti,j; printf("请输入要查询的两个景点的数字编号(用空格隔开)\n"); scanf("%d%d",&i,&j); if(i<0||i>vertex||j<0||j>vertex) { printf("输入信息有误!\n\n"); printf("请输入要查询的两个景点的数字编号(用空格隔开)\n"); scanf("%d%d",&i,&j); } else { floyd(m); printarray(); display(m,i,j); } return1;}//20显示所有景点信息voidcompusinfor(mapstrm){ inti; printf("\n\n编号景点名称简介\n"); printf("*************************************************************************\n"); for(i=1;i<=vertex;i++) { if(m.vets[i].number!=-1) printf("%-10d%-25s%-70s\n",m.vets[i].number,m.vets[i].name,m.vets[i].intro); } printf("*************************************************************************\n");}voidschoolmap(){ printf("攀枝花学院地图\n"); printf("````````````````````````````````````````````南苑``````````````````````````````````````````\n"); printf("````````````````````````````````````````````宿舍``````````````````````````````````````````\n"); printf("````````````````````````````````````````````````````````````````````````````南苑``````````\n"); printf("````````````````````````````````````````````````````````````````````````````食堂``````````\n"); printf("```````````````````````````````田径场`````````````````````````````````````````````````````\n"); printf("``````````````````````````````````````````````````````````````````````````````````````````\n"); printf("````````````````````````````````````````````玉兰园``````````````````````篮球场``````````\n"); printf("``````````````````````会堂``````````````````````````````````````````````````````````````\n"); printf("``````````````````````````````````````````````````````````````````````````````````````````\n"); printf("``````````````````````````````````````````````````````````````````````````````````````````\n"); printf("西苑`西苑```公路````````````````````````````````````````````````````````````````````\n"); printf("宿舍`餐厅`````````````````````````````````````````````````````````````````````````````\n"); printf("```````````````````````````````````````````````````````````````````````````教学楼````````\n"); printf("``````````````产教``````````````````````````````````````````````````````````````````````\n"); printf("``````````````融合```````````静明湖`````图书馆````励志楼````````````````````````\n"); printf("``````````````大楼````````````````````````````````````````````````````````````````\n"); printf("``````````````````````````````````````````````````````````````````````````````````````````\n"); printf("`````````````````````````````````````````分析测试中心```````````````````````````````````````````\n"); printf("\n\n"); printf("\n 西<|>东\n");}//22用户界面voidmainwork(){ menu(); intchoice; campus=initmap(); do { printf("请输入你的选择:"); scanf("%d",&choice); switch(choice) { case1:system("cls");menu();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论