安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

课程设计旅游管理系统!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惜败塔斯马尼亚跳伞蚁,凤凰队也彻底无缘本赛季的季后赛,因为前段时间的连战连败,导致凤凰队也跌出了联盟前四,而他们想要跻身季后赛,不仅需要在剩下来的……
至轻难承阿里系,有重大变化!马云可能有好的未来神舟十四号出征在即!44岁的陈冬成最年轻乘组指令长象棋布局概述先手布局与后手布局以及传统布局(开局)发展中国最美的8座边境小镇,不用出国就可感受异域风情!我等你一起刘亦菲热依扎主演的电视剧,有望明年1月开播,你最期待哪部?我连续做了7天蛋黄面膜我的皮肤变化,告诉你如何正确准备面膜11岁女童无法行走,所有影像检查正常,医生无奈幸好我猜对了!荣耀Play7TMax用心做产品,7。09英寸大屏5600m第一位在英国议会发言的机器人,曾被怀疑是间谍,遭埃及海关拘留夜读最好的活法手心向下,目光向内,脚步向前青岛2022年创新型中小企业名单twelve的序数词(20的序数词英语怎么写)优秀例文给中国女排的一封信Unitampnbsp3ampnbspLookingampn关于初中语文教学与创新教育的实施策略王者荣耀S17赛季坦克伤害最高不是铠,他一刀能打4000血孕期哪些检查可以排查胎儿畸形母亲的目光作文你能通过试爱考验吗?很准的爱情考验测试第一炉香那个不说谎的男人,他到底有多爱你?新科MVP遭遇伤病!曝胡金秋被送往医院广厦争冠之旅遭打击暗翻军棋(暗翻军棋好玩吗)3岁宝宝咬破水银体温计,爸爸一个果断处理,被医生称赞做得好

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利