课程设计旅游管理系统!C语言图结构带你轻松完成作业
问题描述:
创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:"天地广场门","十八盘","冯玉祥墓","桃花峪门","中天门","南天门","玉皇顶"等),弧表示两个景点之间可以直达,弧上的权值表示两个景点之间的路程(公里数),弧上还有到达方法的信息(有步行和索道两种)。建立一个游客咨询系统。 1.基本要求
(1)创建图的存储结构。
(2)输入两个景点名,就可以得到从一个景点到达另一个景点的所有简单路径、相应路径的路程公里数、行走的方法(每一段是步行,还是坐索道);
(3)输入两个景点名,就可以得到其最短路径,即:路程最短的行进方法;如果两者无路径可通,就得出"两景点不可达的信息"。 2.重点、难点
重点:
(1)通过实验掌握图状结构数据的存储与表式;
(2)通过实验掌握对图的存储、遍历、运算等各种操作;
(3)深入理解图的特征及应用;
难点:
(1)任意两个景点所有路径的计算;
(2)最短路径的计算与算法设计。
代码示例:#include #include #include #include #define N 15 #define MAX 999 int min_len[N]; int route[N][N]; int visited[N]; int flag[N]; int stack[N]; int path[N][N]; int temp[N][N]; int start=99,end=99; int v,w,m=1; int static n=0; typedef struct { char name[N][20]; int length[N][N]; char way[N][N]; }Point; void init_path() { int i,k; for(i=0;iname[i]); fclose(fp1); for(i=0;ilength[i][j]); temp[i][j]=info->length[i][j]; } } fclose(fp2); for(i=0;iway[i][j]); } fclose(fp3); } void output_view(Point *info) { int i,j; printf("一共有%d个景点,关系如下: ",N); for(i=0;iname[i]); printf(" "); for(i=0;iname[i]); if(j!=N)printf("%4d(%c)",info->length[i][j],info->way[i][j]); else printf(" "); } } void Dijkstra(Point *info) { int i=1,j,min; for(v=0;vlength[start][v]; for(w=0;wlength[v][w]length[v][w]; route[w][w]=1; } } } } void DFS(Point *info,int p) { int i,j,len; visited[p]=1; for(i=0;ilength[p][i]!=MAX) { if(i==end) { n++;printf("第%d条: ",n); for(j=0;j",stack[j]+1,info->name[stack[j]],info->way[stack[j]][stack[j+1]]); printf("(%s)---%c--->",info->name[stack[j]],info->way[stack[j]][stack[j+1]]); } //printf("%d(%s) ",end+1,info->name[end]); printf("(%s) ",info->name[end]); } else if(!visited[i]) { info->length[p][i]=MAX; visited[i]=1; stack[m]=i; m++; DFS(info,i); info->length[p][i]=temp[p][i]; visited[i]=0; m--; } } } } void receive(Point *info) { int i; char a[20],b[20]; printf(" 输入起点和终点标号,按# #退出:");scanf("%s%s",a,b); printf("得出所有简单路径和最短路径 "); if(strcmp(a,"#")==0&&strcmp(b,"#")==0)return; for(i=0;iname[i])==0)start=i; if(strcmp(b,info->name[i])==0)end=i; } init_path(); //for(i=0;iname[start],info->name[end],min_len[end]); for(i=0;iname[start],info->name[end],min_len[end]); printf("最短路径为: "); for(i=0;i",path[end][i]+1,info->name[path[end][i]],info->way[path[end][i]][path[end][i+1]]); printf("(%s)---%c--->",info->name[path[end][i]],info->way[path[end][i]][path[end][i+1]]); } //printf("%d(%s) ",path[end][i]+1,info->name[path[end][i]]); printf("(%s) ",info->name[path[end][i]]); } else {printf(" 非常抱歉!!!景点%s无法到达%s",info->name[start],info->name[end]);} printf(" "); } start=end=99;n=0; } int main() { int i,j=0; char x; Point *view_info=NULL; view_info=(Point *)malloc(sizeof(Point)); read_file(view_info); msgbox(view_info); printf("输入操作:"); while(scanf("%c",&x)!=EOF) { switch(x) { case "S":msgbox(view_info);receive(view_info);printf("输入操作:");break; case "E":exit(0); default :cur_sys();msgbox(view_info);printf("输入操作:");continue; } } printf("谢谢使用!!!"); }
写在最后:对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
编程学习书籍分享:
编程学习视频分享:
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦! 可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
大自然的鬼斧神工墨石公园中国墨石公园景区位于四川省甘孜州道孚八美镇卡玛村与中古村交界处,面积5平方公里,海拔约3500米。国家4A级旅游景区地形地貌中国唯一高原石林景观,是香格里拉之巅海螺沟通向香格里拉之
我很喜欢开着探岳车出去玩我们在老城中心漫步,紧凑的街巷时时传来商贩的叫卖,琳琅满目的小商品临街摆放,小吃摊位令人垂涎欲滴的海鲜料理这样的场景在我们在老城中心漫步,紧凑的街巷时时传来商贩的叫卖,琳琅满目的小
泰国住高档酒店,为何会建议在枕头放20泰铢,放下后会发生什么?由于泰国是东南亚地区旅游行业的龙头,所以我国会有众多的小伙伴会选择去泰国游玩。因为泰国距离我国比较近,拥有众多的旅游特色。(此处已添加小程序,请到今日头条客户端查看)所以国内的小伙
陕西即日起暂停跨省旅游经营活动!各大火车站最新通知陕西即日起暂停跨省旅游经营活动陕西省文化和旅游厅12月16日发布消息启动跨省旅游经营活动管理熔断机制,自即日起,全省旅行社及在线旅游企业暂停经营跨省团队旅游及机票酒店业务。待省内无
冶河的冬天来自山西的甘陶河一路北上,与东进的绵河在井陉县北衡口交汇为一支,称为冶河。冬日的冶河,有着别样的韵味。清晨,当东方透出一抹红晕,冶河便揉着惺忪的睡眼,醒了。那片夜间泛着冷白色的水面
山东等地乡村旅游发展扮靓美丽乡村推动农村人居环境提升中办国办近日印发农村人居环境整治提升五年行动方案(20212025年)(以下简称行动方案),对乡村景区旅游厕所建设旅游风景区等区域农村生活污水整治乡村绿化美化等作出部署。乡村旅游被
秦岭禁地有多恐怖?中华龙脊鳌太线,为何禁止游客穿越?有着中华龙脊美称的鳌太线,为何被官方列为游人禁区?你可能不知道,在秦岭之上太白山与鳌山之间有这样一条路线,它只有短短170公里,却被誉为我国最难徒步穿越的5条路之一。它既被列为中华
深航与江西合作旅客畅享诸多权益深圳新闻网读特客户端深圳新闻网2021年12月17日讯(深圳商报记者陈发清)12月16日,2022深航邀您嘉游赣江西旅游宣传推介会在深圳举行。会上,深圳航空有限责任公司与江西省签署了战略合作
北京将加快建设大运河源头遗址公园中新网北京12月17日电(徐婧杜燕)未来五年,北京市昌平区将围绕建设人文宜居生态优美示范区目标,加快建设大运河源头遗址公园,基于白浮泉历史文化遗产,打造白浮翁山河文化景观带。这是北
在匈牙利废墟酒吧寻找另类体验本报特约记者叶孝忠布达佩斯的夜生活很有名,当地有所谓的废墟酒吧文化,废墟酒吧就是建在废墟上的酒吧。市中心的闲置空间废弃的仓库大楼乏人问津的停车场,甚至是落魄大楼顶层,都可以变成时髦
故事连环画刺庆忌。。。
都2202年了,可还是没有坐过飞机世界民航十强民航的飞速发展得益于二战后相对稳定的国际环境。而民航最发达的地区也即是世界最繁忙的金融及旅游中心。很典型的一个地方就是新加坡。新加坡航空logo新加坡航空地处最繁忙的马六甲海峡的港
努尔苏丹有120万人口,伊希姆河上建太阳之塔,有世界最大帐篷我们的邻国哈萨克斯坦面积有272万平方公里,是世界第九大国家,也是世界上最大的内陆国。哈萨克斯坦横跨亚欧两洲,以乌拉尔河为亚欧洲界,全国有1900万人口,是一个地广人稀的内陆国。哈
2021年度战术背包排行榜,总有一款深得我心无论是在寻找适合日常徒步旅行还是随身携带的背包,合适的战术背包都能提供充足的存储空间实用功能和全天舒适度。这很简单。与许多其他背包类别不同,战术背包为各种活动提供了很多实用性,包括
红遍网络的4位海外人气美食博主,网友则戏称他们是四国特工喜欢刷美食和旅游短视频的小伙伴们一定听过四国特工这个梗吧,大致就是网友们对于4位身处于海外的人气美食博主的戏称,至于他们是谁,具体又做了什么,这些内容便是我们这一次文章所要聊的主题
小赵徒步旅行的万不得已小赵的欢乐日常其实今年有段时间我并不总看小赵的更新,尤其结婚那段时间,都是各种矛盾,感觉不是原来那个乐观的小赵了,但是今年每天关注他,还是从他徒步去参加西瓜play的活动,看着啥也
您想知道的古埃及,都在这里埃及是个热门旅游目的地,至少在疫情前是这样的。很多来埃及的游客,都喜欢去看看金字塔,看看神庙,看看帝王谷。这些地方有都有着悠久的历史,金字塔古老而神秘,神庙壮观且震撼,帝王谷的壁画
盘点丨元旦小长假延庆文旅活动异彩纷呈游主题乐园住酒店民宿享冬日雪趣刚刚过去的元旦假期,在充分做好疫情防控的前提下,12。1万余人次的游客在延庆度过了悠闲快乐的假日时光。据统计,元旦假日期间,全区共接待游客12。1万人
继普吉岛之后泰国再增加3个接待国际游客的沙盒旅游区由泰国总理巴育主持的政府新冠肺炎疫情管理中心会议当地时间7日决定,继普吉岛之后再增加3个接待国际游客的沙盒旅游区。为防控新冠肺炎疫情,泰国政府自去年12月21日暂停有条件免隔离入境
国家地理系列刚果尼拉贡戈火山是非洲最危险的火山之一,并拥有世界上最大的熔岩湖。黄腿象龟是一种原产于中南美洲的中型陆龟,体长可达80公分左右。摄于盖亚那的伊沃克拉玛雨林保护区。空拍以色列特拉维夫
盘点中国最矮的3座山,一个比一个矮小,你去过吗?旅游风物志,揽四海胜景,博人间风华。众所周知,爬山是很吃力的,尤其是一些高山大山,一般人难以企及,比如说喜马拉雅山华山泰山等等,有的需要专业技能,有的需要良好的体魄和耐力。不过,并
缅甸穷游,1000元人民币兑换缅甸元22万,在缅甸能做什么?在缅甸旅游1000元人民币就可以兑换22万缅甸元,如果准备3000元人民币的话,可以在当地兑换67万缅甸元,瞬间就成了百万富翁,这笔钱可以在当地游玩,哪些旅游项目呢?(此处已添加小