校园导游程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

洛阳理工学院课程设计报告课程名称数据结构课程设计题目校园导游程序课程设计任务书1、设计题目:校园导游程序2、设计内容与要求:[问题描述]用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。[基本要求](1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。(4)增加、删除、更新有关景点和道路的信息。课程设计评语成绩:指导教师:_______________年月日洛阳理工学院课程设计报告13、流程图4、模块划分(1)主函数:voidmain()(2)voidCreateUDN(intv,inta);/*造图函数*/(3)voidnarrate();/*说明函数*/(4)voidShortestPath(intnum);/*最短路径函数*/(5)voidoutput(intsight1,intsight2);/*输出函数*/(6)charMenu();/*主菜单*/(7)voidsearch();/*查询景点信息*/(8)charSearchMenu();/*查询子菜单*/(9)voidHaMiTonian(int);/*图的遍历*/(10)voidSearchpath1(MGraphg);/*查询两个景点间的所有路径*/(11)voiddisppath(MGraphg,inti,intj);(12)voidpath(MGraphg,inti,intj,intk);/*确定路径上第k+1个顶点的序号*/(13)voidNextValue(int);(14)voiddisplay();/*显示遍历结果*/(15)intAddnewsight(intn);/*添加新的景点和路径*/校园导游图删除景点和路径添加景点和路径查询所有路径查询最短路径查询景点信息修改景点和路径结束洛阳理工学院课程设计报告2(16)intDeletesight(intn);/*删除景点和路径*/5、数据结构类型定义typedefstructArcCell{intadj;/*相邻接的景点之间的路程*/}ArcCell;/*定义边的类型*/typedefstructVertexType{intnumber;/*景点编号*/charsight[100];/*景点名称*/chardescription[1000];/*景点描述*/}VertexType;/*定义顶点的类型*/typedefstruct{VertexTypevex[20];/*图中的顶点,即为景点*/ArcCellarcs[20][20];/*图中的边,即为景点间的距离*/intvexnum,arcnum;/*顶点数,边数*/}MGraph;/*定义图的类型*/6、测试结果洛阳理工学院课程设计报告31、查询景点信息2、查询两景点间最短路径3、查询两景点间所有路径洛阳理工学院课程设计报告44、添加新的景点和路径5、删除已有的景点和路径6、修改删除已有的景点和路径洛阳理工学院课程设计报告57、实验心得经过几天的课程设计,总的来说收获还是很大的!首先代码能力明显提高,有了想法基本都能顺利表达出来;再者就是数据结构的选择使用能力也有了很大的提高!虽说平时的实验课我们也有用各种数据做题,但那些都是很明确的知道该做什么操作,存什么,我们的发挥空间不大一般照做就行,然而这次实习我们却在自主的选择判断,这本身就是一个很大的提高!还有就是算法方面的学习有了初步进阶,如最短路径,这样比较简单的图论算法能比较熟练的写出来。但是还是有很多的只是不了解!收获真的很多,但是最大的收获可能就是对编程的兴趣吧,在一次次的改错,一次次的完成想要的效果后,越写越有感觉!当然还收获了无知,更确切的说是自知,原来我们现在什么也不算,还有很多有用的只是等着我们去学习!课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。8、源程序洛阳理工学院课程设计报告6#includestring.h#includestdio.h#includestdio.h#includemalloc.h#includestdlib.h#defineMax20000typedefstructArcCell{intadj;/*相邻接的景点之间的路程*/}ArcCell;/*定义边的类型*/typedefstructVertexType{intnumber;/*景点编号*/charsight[100];/*景点名称*/chardescription[1000];/*景点描述*/}VertexType;/*定义顶点的类型*/typedefstruct{VertexTypevex[20];/*图中的顶点,即为景点*/ArcCellarcs[20][20];/*图中的边,即为景点间的距离*/intvexnum,arcnum;/*顶点数,边数*/}MGraph;/*定义图的类型*/MGraphG;/*把图定义为全局变量*/charnameofschool[100];intNUM=9;intP[20][20];/**/intp[20];/*全局数组,用来存放路径上的各顶点*/intvisited[20];/*全局数组,用来记录各顶点被访问的情况*/inta=0;/*全局变量,用来记录每对顶点之间的所有路径的条数*/洛阳理工学院课程设计报告7longintD[20];/*辅助变量存储最短路径长度*/intx[20]={0};voidCreateUDN(intv,inta);/*造图函数*/voidnarrate();/*说明函数*/voidShortestPath(intnum);/*最短路径函数*/voidoutput(intsight1,intsight2);/*输出函数*/charMenu();/*主菜单*/voidsearch();/*查询景点信息*/charSearchMenu();/*查询子菜单*/voidHaMiTonian(int);/*图的遍历*/voidSearchpath1(MGraphg);/*查询两个景点间的所有路径*/voiddisppath(MGraphg,inti,intj);voidpath(MGraphg,inti,intj,intk);/*确定路径上第k+1个顶点的序号*/voidNextValue(int);voiddisplay();/*显示遍历结果*/intAddnewsight(intn);/*添加新的景点和路径*/intDeletesight(intn);/*删除景点和路径*/voidChangesight();/*修改景点和路径*/charChangemenu();/*修改路径或顶点的选择菜单*/charSightmenu();/*选择需该景点的菜单*/voidmain()/*主函数*/{intv0,v1;charck;system(color0);CreateUDN(NUM,11);do{ck=Menu();洛阳理工学院课程设计报告8switch(ck){case'1':search();break;case'2':system(cls);narrate();printf(\n\n\t\t\t请选择起点景点(0~%d):,NUM-1);scanf(%d,&v0);printf(\t\t\t请选择终点景点(0~%d):,NUM-1);scanf(%d,&v1);ShortestPath(v0);/*计算两个景点之间的最短路径*/output(v0,v1);/*输出结果*/printf(\n\n\t\t\t\t请按任意键继续...\n);getchar();getchar();break;case'3':system(cls);narrate();x[0]=1;Searchpath1(G);printf(\n\n\t\t\t\t请按任意键继续...\n);getchar();getchar();break;case'4':system(cls);洛阳理工学院课程设计报告9narrate();NUM=Addnewsight(NUM);system(cls);narrate();break;case'5':NUM=Deletesight(NUM);break;case'6':Changesight();break;};}while(ck!='e');}charMenu()/*主菜单*/{charc;intflag;do{flag=1;system(cls);narrate();printf(\n\t\t\t┏━━━━━━━━━━━━━━━┑\n);printf(\t\t\t┃┃\n);printf(\t\t\t┃1、查询景点信息┃\n);printf(\t\t\t┃2、查询两景点间最短路径┃\n);printf(\t\t\t┃3、查询两景点间所有路线┃\n);printf(\t\t\t┃4、添加新的景点和路径┃\n);洛阳理工学院课程设计报告10printf(\t\t\t┃5、删除已有景点和路径┃\n);printf(\t\t\t┃6、修改已有景点和路径┃\n);printf(\t\t\t┃e、退出┃\n);printf(\t\t\t┃┃\n);printf(\t\t\t┗━━━━━━━━━━━━━━━┛\n);printf(\t\t\t\t请输入您的选择:);scanf(%c,&c);if(c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='e')flag=0;}while(flag);returnc;}charSearchMenu()/*查询子菜单*/{charc;intflag;do{flag=1;system(cls);narrate();printf(\n\t\t\t┏━━━━━━━━━━━━━━━┑\n);printf(\t\t\t┃┃\n);printf(\t\t\t┃1、按照景点编号查询┃\n);printf(\t\t\t┃2、按照景点名称查询┃\n);printf(\t\t\t┃e、返回┃\n);printf(\t\t\t┃┃\n);printf(\t\t\t┗━━━━━━━━━━━━━━━┛\n);printf(\t\t\t\t请输入您的选择:);scanf(%c,&c);洛阳理工学院课程设计报告11if(c=='1'||c=='2'||c=='e')flag=0;}while(flag);returnc;}voidsearch()/*查询景点信息*/{intnum;inti;charc;charname[20];do{system(cls);c=SearchMenu();switch(c){case'1':system(cls);narrate();printf(\n\n\t\t请输入您要查找的景点编号:);scanf(%d,&num);for(i=0;iNUM;i++){if(num==G.vex[i].number){printf(\n\n\t\t\t您要查找景点信息如下:);printf(\n\n\t\t\t%-25s\n\n,G.vex[i].description);printf(\n\t\t\t按任意键返回...);洛阳理工学院课程设计报告12getchar();getchar();break;}}if(i==NUM){printf(\n\n\t\t\t没有找到!);printf(\n\n\t\t\t按任意键返回...);getchar();getchar();}break;case'2':system(cls);narrate();printf(\n\n\t\t请输入您要查找

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功