校园导游咨询系统 联系客服

发布时间 : 星期二 文章校园导游咨询系统更新完毕开始阅读

while(1) { clrscr(); printf(\校园导游系统***\\n\\n\提示用户正确根据需要输入数字 printf(\文件读入并创建校园图:\\n\\n\ printf(\查询景点详细信息:\\n\\n\ printf(\查找两景点间最短路径:\\n\\n\ printf(\退出\\n\\n\ printf(\ choice = getchar(); switch(choice) { case '1': clrscr(); creatgraph(g,&n,e,&adj); //创建图(景点,景点数,边,边和景点) printf(\打开文件错误\\n\ getchar(); break; case '2': clrscr(); searchgraph(g,n,adj);//查询景点信息 getchar(); break; case '3': clrscr(); printf(\你目前的位置是:\\n\ scanf(\ getchar(); printf(\你的目的地是:\\n\ scanf(\ getchar(); Mindistance(&G,i,j);//查找最短路径 getchar(); creat(&G); do{ printf(\是否继续? Y/N\ char ch; int flag=1; scanf(\ getchar();

}

if(ch == 'Y' || ch == 'y') //是否继续 { flag = 1; i = 1; printf(\你目前的位置是:\\n\ scanf(\ getchar();//获取输入的数字对应的地点 printf(\你的目的地是:\\n\ scanf(\ getchar(); Mindistance(&G,i,j);//查找最短路径 getchar(); creat(&G); continue ; } else flag = 0; //不继续 break; }while(1); break; case '0': clrscr(); printf(\按任意键退出********\\n\ getchar(); exit(0); break; default: printf(\输入错误,请重新输入0-3之间的数字:\\n\ getchar(); break; } }

getchar();

4.调试分析

4.1测试数据

当起点输入11终点输入10时,景点不存在,程序提示重新输入;当起点输入0(教学主楼)终点输入10时,终点景点不存在,程序提示重新输入;当起点输入3(五教)终点输入4(新图书馆)时,景点都存在,屏幕打印出两景点最短路径:五教—〉新图书馆,最短路径约为6。当输入1时,则按景点编号查询,当输入6(北区食堂)时,屏幕上打印出此景点信息: 有时候味道太重,太咸,

但是平时味道不错,是学生就餐的主要餐厅;当输入4(新图书馆)时,屏幕上打印出此景点信息:虽然很小,但是还过的去,学习环境很好,还有自修室,阅览室等学习场所

;当输入12时,此景点不存在,当输入20时,此景点不存在,当输入5时,则按景点名称查询,当在选择主菜单中输入3时,则系统推荐旅游路径:

当输入1正确输入起点(2)(二教)和终点(4)(新图书馆),屏幕将打印出两景点之间的最短路径:二教—〉五教—〉图书馆,最短路径为约4m。用户应看清代码允许输入的范围当输入的景点代号不在(1-10)之间时,则结构也错误。

当在选择主菜单选择3时,则按景点信息查询,当输入4(新图书馆)时,屏幕上打印出此景点信息:虽然很小但还过的去,学习环境很好,还有自修室和阅览室;如图所示为输出结果。当输入8(大学生活动中心)时,屏幕上打印出此景点信息:在体育馆旁边,举办活动的主要场所,每次晚上路过那里都会听到在举办活动,很热闹,当输入12时,此景点不存在,输入信息错误

在选择主菜单输入错误时,程序不作反应,当输入e时,则退出, 由于本人的设计能力有限,在设计过程中难免出现错误。本程序在调试时,出现了一个很棘手的错误,出现了结构体变量定义错误,本来要用到指针的没有用的,经过自己的多次修改,没有编译成功,最后在同学帮助下,结构体成员定义为指针变量成功的修改了那个问题。还有一些简单的语法错误,这些错误可以通过自己慢慢调试,属于小错误就不一一列举了。

本程序的时间复杂度主要发生在求最短路径时,即算法里面的for循环语句,for循环语句三层嵌套,所以时间复杂度为n。

3

5.总结

1.算法中可以使用顺序表存储各个结点

2.创建图的过程可以存放在一个独立的头文件中,写出函数体,然后直接调用另一头文件

3.在图的存储时本程序采用的邻接矩阵,也可以采用邻接表;在求两景点之间的最短路径时本程序采用的狄克斯特拉算法,也可以采用弗洛伊德算法。

4、在本次课程设计中让我进一步熟悉了各种算法的使用,但感到自己在算法设计中还存在很大的不足,写算法时无法脱离课本,更是需要同学的帮助,甚至有的算法不得不从网上查询,今后自己将更努力学习这门语言,多接触解决各种问题的各种算法,这样才能提高自己

5、通过这次编程实现校园导游咨询系统,让我更深入的了解了最短距离的算法思想,查阅了很多的资料,像代码中的读写文件的语句如何使用及清屏函数。