城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

课程设计旅游管理系统!C语言图结构带你轻松完成作业

7月7日 九阙忬投稿
  问题描述:
  创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:天地广场门,十八盘,冯玉祥墓,桃花峪门,中天门,南天门,玉皇顶等),弧表示两个景点之间可以直达,弧上的权值表示两个景点之间的路程(公里数),弧上还有到达方法的信息(有步行和索道两种)。建立一个游客咨询系统。1。基本要求
  (1)创建图的存储结构。
  (2)输入两个景点名,就可以得到从一个景点到达另一个景点的所有简单路径、相应路径的路程公里数、行走的方法(每一段是步行,还是坐索道);
  (3)输入两个景点名,就可以得到其最短路径,即:路程最短的行进方法;如果两者无路径可通,就得出两景点不可达的信息。2。重点、难点
  重点:
  (1)通过实验掌握图状结构数据的存储与表式;
  (2)通过实验掌握对图的存储、遍历、运算等各种操作;
  (3)深入理解图的特征及应用;
  难点:
  (1)任意两个景点所有路径的计算;
  (2)最短路径的计算与算法设计。
  代码示例:includestdio。hincludestdlib。hincludestring。hincludetime。hdefineN15defineMAX999intminlen〔N〕;introute〔N〕〔N〕;intvisited〔N〕;intflag〔N〕;intstack〔N〕;intpath〔N〕〔N〕;inttemp〔N〕〔N〕;intstart99,end99;intv,w,m1;intstaticn0;typedefstruct{charname〔N〕〔20〕;intlength〔N〕〔N〕;charway〔N〕〔N〕;}Pvoidinitpath(){inti,k;for(i0;iN;i){path〔i〕〔0〕path〔i〕〔1〕i;for(k2;kN;k)path〔i〕〔k〕999;}}voidreadfile(Pointinfo){inti0,j;charch〔N〕〔10〕;FILEfp1,fp2,fp3;if((fp1fopen(viewname。txt,r))NULL){printf(Openfailed!!!);exit(0);}if((fp2fopen(viewlength。txt,r))NULL){printf(cannotopenfile!);exit(0);}if((fp3fopen(viewway。txt,r))NULL){printf(cannotopenfile!);exit(0);}for(i0;iN;i)fscanf(fp1,s,infoname〔i〕);fclose(fp1);for(i0;iN;i){for(j0;jN;j){fscanf(fp2,d,infolength〔i〕〔j〕);temp〔i〕〔j〕infolength〔i〕〔j〕;}}fclose(fp2);for(i0;iN;i){for(j0;jN;j)fscanf(fp3,c,infoway〔i〕〔j〕);}fclose(fp3);}voidoutputview(Pointinfo){inti,j;printf(一共有d个景点,关系如下:,N);for(i0;iN;i)printf(7s,infoname〔i〕);printf();for(i0;iN;i)for(j0;jN;j){if(j0)printf(3s,infoname〔i〕);if(j!N)printf(4d(c),infolength〔i〕〔j〕,infoway〔i〕〔j〕);elseprintf();}}voidDijkstra(Pointinfo){inti1,j,for(v0;vN;v)循环初始化{flag〔v〕0;minlen〔v〕infolength〔start〕〔v〕;for(w0;wN;w)route〔v〕〔w〕0;设空路径if(minlen〔v〕MAX){route〔v〕〔start〕1;route〔v〕〔v〕1;}}minlen〔start〕0;flag〔start〕0;初始化start顶点属于集合Sfor(i1;iN;i)开始主循环每次求得v0到某个顶点v的最短路径并加v到集合S中{minMAX;for(w0;wN;w)if(!flag〔w〕)如果w顶点在VS中{这个过程最终选出的点应该是选出当前VS中与S有关联边且权值最小的顶点书上描述为当前离start最近的点if(minlen〔w〕min){minminlen〔w〕;}}flag〔v〕1;选出该点后加入到合集S中for(w0;wN;w)更新当前最短路径和距离{if(!flag〔w〕(mininfolength〔v〕〔w〕minlen〔w〕)){for(j0;jN;j)path〔w〕〔j〕path〔v〕〔j〕;for(j0;jN;j)if(path〔w〕〔j〕999){path〔w〕〔j〕w;}minlen〔w〕mininfolength〔v〕〔w〕;route〔w〕〔w〕1;}}}}voidDFS(Pointinfo,intp){inti,j,visited〔p〕1;for(i0;iN;i){if(infolength〔p〕〔i〕!MAX){if(iend){n;printf(第d条:,n);for(j0;j){stack〔m〕printf((d,s,c),stack〔j〕1,infoname〔stack〔j〕〕,infoway〔stack〔j〕〕〔stack〔j1〕〕);printf((s)c,infoname〔stack〔j〕〕,infoway〔stack〔j〕〕〔stack〔j1〕〕);}printf(d(s),end1,infoname〔end〕);printf((s),infoname〔end〕);}elseif(!visited〔i〕){infolength〔p〕〔i〕MAX;visited〔i〕1;stack〔m〕i;m;DFS(info,i);infolength〔p〕〔i〕temp〔p〕〔i〕;visited〔i〕0;m;}}}}voidreceive(Pointinfo){chara〔20〕,b〔20〕;printf(输入起点和终点标号,按退出:);scanf(ss,a,b);printf(得出所有简单路径和最短路径);if(strcmp(a,)0strcmp(b,)0)for(i0;iN;i){if(strcmp(a,infoname〔i〕)0)if(strcmp(b,infoname〔i〕)0)}initpath();for(i0;iN;i)printf(d,minlen〔i〕);if(start99end99)printf(输入错误,请重新输入景点名);else{Dijkstra(info);for(i0;iN;i)printf(d,minlen〔i〕);printf(ddd,start,end,minlen〔end〕);if(minlen〔end〕!MAX){printf(景点s到景点s最短路径长度为:d所有简单路径:,infoname〔start〕,infoname〔end〕,minlen〔end〕);for(i0;iN;i)visited〔i〕0;stack〔0〕DFS(info,start);printf(一共有d条路径!,n);printf(景点s到景点s最短路径长度为:d,infoname〔start〕,infoname〔end〕,minlen〔end〕);printf(最短路径为:);for(i0;iN;i){if(path〔end〕〔i1〕999)printf((d,s)c,path〔end〕〔i〕1,infoname〔path〔end〕〔i〕〕,infoway〔path〔end〕〔i〕〕〔path〔end〕〔i1〕〕);printf((s)c,infoname〔path〔end〕〔i〕〕,infoway〔path〔end〕〔i〕〕〔path〔end〕〔i1〕〕);}printf(d(s),path〔end〕〔i〕1,infoname〔path〔end〕〔i〕〕);printf((s),infoname〔path〔end〕〔i〕〕);}else{printf(非常抱歉!!!景点s无法到达s,infoname〔start〕,infoname〔end〕);}printf();}startend99;n0;}intmain(){inti,j0;PointviewinfoNULL;viewinfo(Point)malloc(sizeof(Point));readfile(viewinfo);msgbox(viewinfo);printf(输入操作:);while(scanf(c,x)!EOF){switch(x){caseS:msgbox(viewinfo);receive(viewinfo);printf(输入操作:);caseE:exit(0);default:cursys();msgbox(viewinfo);printf(输入操作:);}}printf(谢谢使用!!!);}
  写在最后:对于准备学习CC编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
  编程学习书籍分享:
  编程学习视频分享:
  整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
  欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
  对于CC感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些CC的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
投诉 评论 转载

燃料电池如何应用到太空旅行据国外媒体报道:航空机构对氢作为燃料或推进剂并不陌生。半人马座和阿波罗号的发射,甚至航天飞机都依靠液态氢将它们送入轨道。平均每次发射将燃烧超过500,000加仑的液态氢,在蒸发……女人过了25岁,穿裙子尽量少配帆布鞋,太幼稚又没气质不知道大家有没有发现,25岁对于女性而言是一道分水岭,介于稚嫩与成熟之间,过了25岁的女生,基本都已经在社会里拼搏了好几年,身上的稚气也逐渐的褪去,反而沉淀出更浓郁的成熟气质和……课程设计旅游管理系统!C语言图结构带你轻松完成作业问题描述:创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:天地广场门,十八盘,冯玉祥墓,桃花峪门,中天门,南天门,……5岁男孩从不玩手机,却近视1000度!医生保护视力有3大误区每到暑假,眼科屈光门诊的孩子就是平时的5倍!可即便父母在家再怎么限制孩子玩电子产品,规定用眼时长,都有意想不到的视力问题发生。这个5岁男孩,从来不玩手机近视却……42岁萧亚轩浓妆亮相,被狗咬伤后容貌有变化,表示已正式复出没有人能永远25岁,但萧亚轩的男友可以。我从来不把25岁以上的男人放在眼里。这句话,如果是别人说,可以当成吹牛,但萧亚轩说,那就是真事。时光匆匆,萧亚轩从25……养不教父之过父母是孩子的启蒙老师,也是孩子最好的老师《三字经》中:养不教,父之过是说父母生养子女而不教育,是父母的过错。孩子一出生,就像一张白纸,任你在上面画画,你画成什么样子就是什……数字经济是什么!和我们有没有关系!你依靠数字经济生活嘛数字经济可能很多人就是认为是互联网经济!当然数字经济只是互联网经济信息技术人工智能、数据中心等的统称罢了。所以很多人对于新出来了数字经济没啥认识,觉得就是以上的互联……漫步京西古道常言道:计划赶不上变化。上周末121徒步队去白河大峡谷露营品茶的计划由于种种原因彻底泡汤。121徒步队从健康快乐并符合社会需要,不安排周末集体户外徒步活动。各自在保证安全健康的……星海湖边独游漫忆宁夏石嘴山市的星海湖,是大武口区最亮丽的风景名片。这里曾经是一片沼泽地,淤泥堆积,杂草丛生,芦苇枯黄,经过改造修建,运走大量的淤泥沙土,地表下挖,修建花岗石的湖堤,灌入黄河水,……夏季是心衰患者的危险时刻?安全度夏指南,建议收藏很多人知道冬季是心血管疾病高发的魔鬼季节,因此人们认为冬季是心衰的高发季节,但临床研究显示,夏季心衰的发病率并不比冬季低。美国堪萨斯城,1980年夏季遭受热浪袭击,据数据……吃饱后应该躺着坐着,还是站着?看完别再纠结了俗话说,没有什么难过是一顿饭解决不了的,如果有,那就两顿,或者三四五六十顿。人们常说,这世上最幸福的,就是一生两人,三餐四季。身边有人陪你日食三餐,走过四季,想想都……引入周琦时志在夺冠,如今提前两轮无缘季后赛!周琦快回来吧随着今天墨尔本凤凰以80比84惜败塔斯马尼亚跳伞蚁,凤凰队也彻底无缘本赛季的季后赛,因为前段时间的连战连败,导致凤凰队也跌出了联盟前四,而他们想要跻身季后赛,不仅需要在剩下来的……
皮衣什么颜色好看?这几种颜色都不容易过时血糖多少算正常?寒露将至,俗语要想身体好,寒露土中宝,啥是土中宝?世乒赛16强签位出炉!国乒稳如泰山,日本有喜有忧,最大输家瑞白酒千万不要这样喝!喝混酒真的更容易醉俄空间研究所希望继续与法国合作,为印度完成金星发射任务舌苔厚腻且有齿痕,是什么问题?健脾祛湿,需掌握3个实用方法独库公路这一幕引众怒,新疆文旅厅发文呼吁!新闻早七点炒土豆丝总粘锅?只用水冲没有用,大厨教你一招,酸辣脆爽不粘锅向老将脱帽致敬!41岁庄智渊混双登顶,5月份已经夺得两个冠军秋天阳气越来越弱,建议男人多吃5样,补阳润燥,身体不虚精力旺意大利5连胜!稳居第1,降级队产生,中国男排今晚冲第3胜
正常情况下吃完早饭三个小时血糖值多少呢?上海房产证怎么换不动产证中国最富十人在相爱相杀中承包了我们的生活拍拍贷还款方式开间婴儿沐浴店利润相当可观3月10日中午,反弹任务完成,下午看戏四年级状物作文我喜欢的玩具400字常州女子吃带鼠药假羊肉串中毒如何分辨真假羊肉串?包出来的味道《中华诵经典诵读》读书笔记男方离婚要孩子抚养权可以吗?早上好问候祝福带字图片,早安心语暖心话短句

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁