校园导游系统(课程设计)
这个是本人的课程设计的代码,论文已上传资源。
代码:
#include <stack>
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <windows.h>
#define MVNum 100
#define MaxInt 32767 /*最大值*/
using namespace std;
void gotoxy(int y, int x);
struct AMGraphd
{string vexs[MVNum]; /*顶点表*/int arcs[MVNum][MVNum]; /*邻接矩阵*/int vexnum; /*图的当前点数*/int arcnum; /*边数*/string info[MVNum]; /*景点介绍*/
}G;
int S[11100], D[11100], Path[11100], minn, ts = 5;
char stra[][3] = {"欢", "迎", "进", "入", "郑", "州", "升", "达", "经", "贸", "管", "理", "学", "院", "校", "园", "导", "游", "系", "统"};
char strb[][3] = {"请", "按", "回", "车", "进", "入"};
//-------------------------------------------
void log() /*打印欢迎界面*/
{char c;int m = 25, n = 10;bool t = true, temp = true, flag = false;while (true) /*循环边框*/{for (int i = 6; i <= 80; i += 2) /*打印第一行边框*/{gotoxy(n, i + m); /*光标跳到第n行i+m列处,向右打印*/if (t) /*空心和实心相互打印*/cout << "☆";else cout << "★";if (temp && i >= 22 && i <= 60) /*向右打印文字*/{gotoxy(n + 10, i + m + 3); /*光标跳到中间,打印中间文字*/cout << stra[(i - 22) / 2]; /*打印第一行中间文字*/}if (kbhit()) /*判断是否有按键的操作*/{c = getch();if (c == '\r') /*回车键退出循环,进入主菜单*/{flag = true;break;}}t = !t;Sleep(ts); /*控制边框打印的速度*/}if (flag) break; /*进入主菜单*/for (int i = 0; i <= 25; i++) /*打印第二列边框*/{gotoxy(i + n, m + 82); /*向下打印*/if (t)cout << "☆"; /*同上*/else cout << "★";if (kbhit()){c = getch();if (c == '\r'){flag = true;break;}}t = !t;Sleep(ts);}if (flag) break;for (int i = 82; i >= 6; i -= 2) /*打印第二行边框*/{gotoxy(n + 25, i + m); /*向左打印*/if (t)cout << "★";else cout << "☆";if (temp && i >= 44 && i <= 54) /*向左打印文字*/{gotoxy(n + 15, i + m - 5); /*光标跳到中间,打印中间文字*/cout << strb[(i - 44) / 2]; /*打印第二行中间文字*/}if (kbhit()) /*同上*/{c = getch();if (c == '\r'){flag = true;break;}}t = !t;Sleep(ts);}if (flag) break;for (int i = 25; i >= 1; i--){gotoxy(i + n, m + 6); /*向上打印*/if (t)cout << "☆"; /*同上*/else cout << "★";if (kbhit()){c = getch();if (c == '\r'){flag = true;break;}}t = !t;Sleep(ts);}t = !t;temp = false;if (flag) break;}gotoxy(35, 0);
}
//-------------------------------------------
char menu() /*打印主菜单界面*/
{char c;system("CLS"); /*清屏*/int m = 25, n = 5;bool t = true, temp = true, flag = false;cout << "\n\n\n\n\n\n\n\n\n\n";cout << "\t\t\t\t\t * * * * * * * * * * * * * * ** * * * * * * * * * * * * * *\n";cout << "\t\t\t\t\t * * *校园导航* * *\n";cout << "\t\t\t\t\t * ****************************************************** *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * 1.*显示地图*.1 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * 2.*导航*.2 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * 3.*景点遍历*.3 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * 4.*景点查询*.4 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * 0.*退出系统*.0 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * ****************************************************** *\n";cout << "\t\t\t\t\t * * * * * * * * * * * * * * ** * * * * * * * * * * * * * *\n";while (true) /*用循环来控制系统一直工作*/ {for (int i = 6; i <= 80; i += 2)/*同上,打印边框 */{gotoxy(n, i + m);if (t)cout << "☆";else cout << "★";if (kbhit()){c = getch();if (c >= '0' && c <= '4')/*判断是否为有效数字*/{flag = true;break;}}t = !t;Sleep(ts);}if (flag) break;for (int i = 0; i <= 25; i++){gotoxy(i + n, m + 82);if (t)cout << "☆";else cout << "★";if (kbhit()){c = getch();if (c >= '0' && c <= '4')/*判断是否为有效数字*/{flag = true;break;}}t = !t;Sleep(ts);}if (flag) break;for (int i = 82; i >= 6; i -= 2){gotoxy(n + 25, i + m);if (t)cout << "★";else cout << "☆";if (kbhit()){c = getch();if (c >= '0' && c <= '4')/*判断是否为有效数字*/{flag = true;break;}}t = !t;Sleep(ts);}if (flag) break;for (int i = 25; i >= 1; i--){gotoxy(i + n, m + 6);if (t)cout << "☆";else cout << "★";if (kbhit()){c = getch();if (c >= '0' && c <= '4')/*判断是否为有效数字*/{flag = true;break;}}t = !t;Sleep(ts);}t = !t;temp = false;if (flag) break;}gotoxy(35, 0);//使光标跳回到原处 return c;
}
//-------------------------------------------
void view_map() /*查看地图*/
{char c;FILE *fp; /*定义文件指针*/system("CLS"); /*清屏*/fp = fopen("map.txt", "r"); /*打开文件*/while (~fscanf(fp, "%c", &c)) /*从文件读入地图*/cout << c;fclose(fp); /*关闭文件*/while (c = getch(), c != '\r'); /*回车返回菜单*/
}
//-------------------------------------------
int LocateVex(AMGraphd G, string u) /*查找景点的下标*/
{int i = 1;G.vexs[G.vexnum + 1] = u; /*带有哨兵的查找*/while (G.vexs[i] != u) i++; /*不符合,查找下一个*/return i;
}
//-------------------------------------------
int CreateUD(AMGraphd &G) /*初始化数据*/
{FILE *fp; /*定义文件指针*/system("CLS"); /*清屏*///-------------------------------------------//初始化每个景点的编号和简介 G.vexs[1] = "正大门"; G.info[1] = "学校正门";G.vexs[2] = "北生活馆"; G.info[2] = "生活馆,一楼是一些商店";G.vexs[3] = "体育场"; G.info[3] = "学校操场,经常有学生去锻炼身体";G.vexs[4] = "体育馆"; G.info[4] = "室内运动场所";G.vexs[5] = "艺术楼"; G.info[5] = "内设音乐厅、专业舞蹈排练厅、琴房、专业录音棚、音乐教室、数码钢琴教室、电脑音乐(MIDI)制作教室、阶梯素质教室、器乐排练教室、专业合唱排练教室等,是艺术专业师生理想的求知殿堂";G.vexs[6] = "27/15/17宿舍楼"; G.info[6] = "27、15、17号宿舍楼";G.vexs[7] = "升达餐厅"; G.info[7] = "学校餐厅,是学校装修靠前的餐厅";G.vexs[8] = "16/18宿舍楼"; G.info[8] = "16、18号宿舍楼";G.vexs[9] = "外语楼"; G.info[9] = "外语一号楼,主要供外语系师生在此办公、学习,外语二号楼,主要供公共外语部在此办公";G.vexs[10] = "教学楼1/2"; G.info[10] = "教学1-4号馆是学院一期工程建设的教学楼,楼内设有主教室、办公室、教师休息室、会议室等,全部仿照中国传统建筑四合院的形式建造,每两楼一体";G.vexs[11] = "龙湖食府"; G.info[11] = "一楼是餐厅,二楼为龙湖报告厅,是一些小型会议的举办场所";G.vexs[12] = "思源会馆"; G.info[12] = "正门是创办人纪念馆,后面配置有各种现代化会议所需电子设备,是接待中型高端会议、报告会及其它会议的一个重要场所";G.vexs[13] = "行政楼"; G.info[13] = "行政大楼位于学院中轴线,具有完整的区域功能,是集办公、会议、接待为一体的场所。";G.vexs[14] = "艺文广场"; G.info[14] = "学校图书馆,有五层书库,自习室,电子阅览室等";G.vexs[15] = "博新楼"; G.info[15] = "一二楼设有食堂和一些生活必需品的店,三楼是一些社团活动室";G.vexs[16] = "13宿舍楼"; G.info[16] = "13号宿舍楼";G.vexs[17] = "7~12宿舍楼"; G.info[17] = "7到12号学生宿舍";G.vexs[18] = "无名湖"; G.info[18] = "学校一景,有个凉亭";G.vexs[19] = "后山篮球场"; G.info[19] = "篮球场,篮球爱好者常去的地方";G.vexs[20] = "30/32宿舍楼"; G.info[20] = "30、32号宿舍楼";G.vexs[21] = "时金/道镕楼"; G.info[21] = "分别为了感谢和纪念林时金先生和范道镕先生对升达建设和发展作出的重要贡献而命名的大楼";G.vexs[22] = "资讯/商管楼"; G.info[22] = "第一、第二实验大楼,是学院开展实践教学的重要场所,能较好的满足学院各专业的教学需求";G.vexs[23] = "教学楼4/3"; G.info[23] = "教学1-4号馆是学院一期工程建设的教学楼,楼内设有主教室、办公室、教师休息室、会议室等,全部仿照中国传统建筑四合院的形式建造,每两楼一体";G.vexs[24] = "综合楼"; G.info[24] = "综合大楼由综合楼和自勉堂对接,形成“口”字形,是我院建设较早的集教学、实习于一体的综合性大楼。";G.vexs[25] = "图书馆"; G.info[25] = "学校图书馆,有三层书库,自习室,电子阅览室等";G.vexs[26] = "新建图书馆"; G.info[26] = "正在建设的图书馆";G.vexs[27] = "邂逅时光"; G.info[27] = "学生娱乐消费的高档地方";G.vexs[28] = "后山1"; G.info[28] = "学校的树林区,也有不错的风景";G.vexs[29] = "后山2"; G.info[29] = "学校的树林区,也有不错的风景";G.vexs[30] = "后山3"; G.info[30] = "学校的树林区,也有不错的风景";G.vexs[31] = "后山4"; G.info[31] = "学校的树林区,也有不错的风景";G.vexs[32] = "31宿舍楼"; G.info[32] = "学生31号宿舍楼";G.vexs[33] = "建工大楼"; G.info[33] = "建工大楼是集教学、实验、成果展示、资料阅览等多功能的教学科研大楼,是学院的地标性建筑";G.vexs[34] = "南食堂"; G.info[34] = "餐厅,饭挺不错的";//-------------------------------------------//G.vexnum = 34; /*顶点数*/G.arcnum = 51; /*边数*/fp = fopen("Weight.txt", "r"); /*打开权值文件*/int ans = 0, ans1 = 0;for (int i = 1; i <= G.vexnum; i++)for (int j = 1; j <= G.vexnum; j++){fscanf(fp, "%d", &G.arcs[i][j]); /*从文件读入权值*/if (!G.arcs[i][j])G.arcs[i][j] = MaxInt; /*没边的设置为最大值*/}fclose(fp); /*关闭文件*/return 0;
}
//-------------------------------------------
void List() /*打印景点列表*/
{char c;system("CLS"); /*清屏*/cout << "\n\n\n\n";cout << "\t\t\t\t\t * * * * * * * * * * * * * * ** * * * * * * * * * * * * * *\n";cout << "\t\t\t\t\t * * *景点列表* * *\n";cout << "\t\t\t\t\t * ****************************************************** *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <1> 正大门 <2> 北生活馆 <3> 体育场 <4> 体育馆 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <5> 艺术楼 <6> 27/15/17宿舍楼 <7> 升达餐厅 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <8> 16/18宿舍楼 <9> 外语楼 <10> 教学楼1/2 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <11> 龙湖食府 <12> 思源会馆 <13> 行政楼 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <14> 艺文广场 <15> 博新楼 <16> 13宿舍楼 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <17> 7~12宿舍楼 <18> 无名湖 <19> 后山篮球场 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * *<20> 30/32宿舍楼 <21> 时金/道镕楼 <22> 资讯/商管楼* *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <23> 教学楼4/3 <24> 综合楼 <25> 图书馆 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <26> 新建图书馆 <27> 邂逅时光 <28> 后山1 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <29> 后山2 <30> 后山3 <31> 后山4 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * * <32> 31宿舍楼 <33> 建工大楼 <34> 南食堂 * *\n";cout << "\t\t\t\t\t * * * *\n";cout << "\t\t\t\t\t * ****************************************************** *\n";cout << "\t\t\t\t\t * * * * * * * * * * * * * * ** * * * * * * * * * * * * * *\n";cout << "\t\t\t\t\t 按\"*\"键返回 \n";
}
//-------------------------------------------
char mode() /*判断是编号查询还是名称查询*/
{int c; cout << "\t\t\t\t\t 请输入查询方式 \n";cout << "\t\t\t\t\t 1.编号查询.1 \n";cout << "\t\t\t\t\t 2.名称查询.1 \n";cout << "\t\t\t\t\t *.返回菜单.* \n";while (c = getch(), (c < '1' || c > '2') && c != '*');return c;
}
//-------------------------------------------
void Dijkstra(int v0, int z) /*迪杰斯特拉求最短路*/
{int i, n, v, w;n = G.vexnum;for (v = 1; v <= n; v++) /*变量初始化*/{S[v] = false;D[v] = G.arcs[v0][v];if (D[v] < MaxInt) /*判断能否到达v*/Path[v] = v0; /*能到达,则他的上一站就为v0*/else Path[v] = -1; /*不能到达,初始化-1*/}D[v0] = 0; /*v0到v0的距离为0*/S[v0] = true; /*标记访问过的顶点*/for (i = 1; i < n; i++){minn = MaxInt;for (w = 1; w <= n; w++){if (!S[w] && D[w] < minn) /*找到v0能到达的最短的边*/{v = w;minn = D[w];}}S[v] = true; /*标记*/for (w = 1; w <= n; w++){if (!S[w] && D[v] + G.arcs[v][w] < D[w])/*判断一下用该边能否松弛其它的边*/{Path[w] = v; /*记录路线*/D[w] = D[v] + G.arcs[v][w]; /*用这个边来松弛其它的边*/}}}int s = z;stack <int> S; /*定义一个栈*/while (Path[s] != v0){S.push(Path[s]); /*进栈,先把路线存到栈里面,方便正序打印*/s = Path[s];}cout << endl << "路线为:" << endl; /*打印路线*/cout << G.vexs[v0] << " --> "; /*打印起点*/while (!S.empty()){cout << G.vexs[S.top()] << " --> "; /*打印中间点*/S.pop(); /*出栈*/}cout << G.vexs[z] << endl; /*打印终点*/cout <<"最短距离为:" << D[z] << "m" << endl;/*输出最短距离*/
}
//-------------------------------------------
void navigation() /*查询任意两点的最短路*/
{char ch;string a, b;int i, n, v0, w, z;while (true){system("CLS"); ch = mode(); /*判断查询方式*/if (ch == '*') /*"*"号返回菜单*/return ;List(); /*输出景点列表*/cout << "请输入当前位置:";cin >> a; /*输入起点*/if (a[0] == '*') /*"*"号返回菜单*/return ;if (ch == '1') /*编号查询*/for (v0 = 0, i = 0; a[i]; i++)v0 = v0 * 10 + a[i] - '0'; /*计算编号*/else v0 = LocateVex(G, a); /*名称查询,查找编号*/while (v0 > G.vexnum || v0 <= 0) /*非法输入,重新输入*/{cout << "查询不到该位置,请重新输入!\n";cout << "请输入当前位置:";cin >> a;if (a[0] == '*')return ;if (ch == '2')v0 = LocateVex(G, a);else for (v0 = 0, i = 0; a[i]; i++) /*同上*/v0 = v0 * 10 + a[i] - '0';}cout << "请输入终点位置:";cin >> b; /*输入终点*/if (b[0] == '*')return ;if (ch == '1')for (z = 0, i = 0; b[i]; i++)z = z * 10 + b[i] - '0';else z = LocateVex(G, b);while (z > G.vexnum || z <= 0 || v0 == z){if (v0 == z)cout << "终点和起点相同,请重新输入!\n";else cout << "查询不到该位置,请重新输入!\n";cout << "请输入终点位置:";cin >> b; /*输入终点*/if (b[0] == '*')return ;if (ch == '1')for (z = 0, i = 0; b[i]; i++)z = z * 10 + b[i] - '0';else z = LocateVex(G, b); /*同上*/}Dijkstra(v0, z); /*求单源最短路*/printf("\n请按回车键继续!\n");while (ch = getch(), ch != '\r' && ch != '*');/*暂停一下,查看结果,回车继续导航,"*"返回菜单*/if (ch == '*')return ;}
}
//-------------------------------------------
void Traversing() /*查询某顶点到所有顶点的最短路线*/
{char ch;string a;int i, n, v0, w;while (true){system("CLS");ch = mode(); /*判断查询方式*/if (ch == '*') /*"*"号返回菜单*/return ;List(); /*输出景点列表*/cout << "请输入当前位置:";cin >> a; /*输入起点*/if (a[0] == '*') /*"*"号返回菜单*/return ;if (ch == '1') /*编号查询*/for (v0 = 0, i = 0; a[i]; i++)v0 = v0 * 10 + a[i] - '0'; /*计算编号*/else v0 = LocateVex(G, a); /*名称查询*/while (v0 > G.vexnum || v0 <= 0) /*非法输入,重新输入*/{cout << "查询不到该位置,请重新输入!\n";cout << "请输入当前位置:";cin >> a; /*同上*/if (a[0] == '*')return ;if (ch == '2')v0 = LocateVex(G, a);else for (v0 = 0, i = 0; a[i]; i++)v0 = v0 * 10 + a[i] - '0';}for (i = 1; i <= G.vexnum; i++){if (i != v0)Dijkstra(v0, i); /*除去起点,打印所有最短距离*/}printf("\n请按回车键继续!\n");while (ch = getch(), ch != '\r' && ch != '*');/*暂停一下,查看结果,回车继续,"*"返回菜单*/if (ch == '*')return ;}
}
//-------------------------------------------
void Introduction() /*查询景点简介*/
{int f, i;char ch;string s;while (true){system("CLS");ch = mode();if (ch == '*')return ;List();cout << "请输入景点:";cin >> s; /*输入起点*/if (s[0] == '*')return ;if (ch == '1')for (f = 0, i = 0; s[i]; i++)f = f * 10 + s[i] - '0';else f = LocateVex(G, s);while (f > G.vexnum || f <= 0) /*非法输入*/{cout << "查询不到该位置,请重新输入!\n";cout << "请输入景点:";cin >> s; /*输入起点*/if (s[0] == '*')return ;if (ch == '1')for (f = 0, i = 0; s[i]; i++)f = f * 10 + s[i] - '0'; /*同上*/else f = LocateVex(G, s);}if (ch == '1')s = G.vexs[f];cout << s << "的简介为:" << endl;cout << G.info[f] << endl; /*打印简介*/printf("\n请按回车键继续!\n");while (ch = getch(), ch != '\r' && ch != '*');/*暂停一下,查看结果,回车继续,"*"返回菜单*/if (ch == '*')return ;}
}
//-------------------------------------------
int main()
{system("title 校园导游程序设计"); /*设置标题*/system("mode con cols=140 lines=245"); /*设置窗口大小*/log(); /*进入欢迎界面*/CreateUD(G); /*数据初始化*/while (true){char n;n = menu(); /*进入主菜单界面*/switch(n){case '0': exit(0); /*输入为零,退出系统*/case '1': view_map(); break; /*查看地图*/case '2': navigation(); break; /*导航*/case '3': Traversing(); break; /*查询某一顶点到其它顶点的最短距离*/case '4': Introduction(); break; /*查询景点简介*/}}return 0;
}
//-------------------------------------------
void gotoxy(int y, int x) /*将光标移动到坐标为(x,y)的地方*/
{CONSOLE_SCREEN_BUFFER_INFO csbiInfo;HANDLE hConsoleOut;hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut, &csbiInfo);csbiInfo.dwCursorPosition.X = x;csbiInfo.dwCursorPosition.Y = y;SetConsoleCursorPosition(hConsoleOut, csbiInfo.dwCursorPosition);
}
注意下面的文件要和代码放在一个目录下,格式有可能不对,不过放到文本中改成宋体就行了。
List.txt:
* * * * * * * * * * * * * * ** * * * * * * * * * * * * * ** * *景点列表* * ** ****************************************************** ** * * ** * <1> 正大门 <2> 北生活馆 <3> 体育场 <4> 体育馆 * ** * * ** * <5> 艺术楼 <6> 27/15/17宿舍楼 <7> 升达餐厅 * ** * * ** * <8> 16/18宿舍楼 <9> 外语楼 <10> 教学楼1/2 * ** * * ** * <11> 龙湖食府 <12> 思源会馆 <13> 行政楼 * ** * * ** * <14> 艺文广场 <15> 博新楼 <16> 13宿舍楼 * ** * * ** * <17> 7~12宿舍楼 <18> 无名湖 <19> 后山篮球场 * ** * * ** *<20> 30/32宿舍楼 <21> 时金/道镕楼 <22> 资讯/商管楼* ** * * ** * <23> 教学楼4/3 <24> 综合楼 <25> 图书馆 * ** * * ** * <26> 新建图书馆 <27> 邂逅时光 <28> 后山 * ** * * ** * <29> 31宿舍楼 <30> 建工大楼 <31> 南食堂 * ** * * ** ****************************************************** ** * * * * * * * * * * * * * ** * * * * * * * * * * * * * *
map.txt:
╔═══════╗║ ║请按回车键返回主菜单 ║ 33宿舍楼 ║║ *33 ║║ 建工大楼 ║╚═══════╝╔══════╗ ╔═══╗╔═══╗╔═══╗╔═════╗╔══════╗╔═══╗╔═══════╗╔═══════╗║ ║ ║ ║║ ║║ ║║ ║║ / / \ \ ║║ ║║ *21 ║ ║ *22 ║║ *23 ║║ *24 ║║ *25 ║║ 新图书馆 / / \ \ ║║ ║║ 时 道 ║ ║资 商║║教 教║║自勉堂║║ ║║ / / ╔══╗ \ \ 后山1 ║║ 后山2 ║║ ║ ║ ║║学 学║║ ║║ 图书馆 ║║ 建设中 / / / \ \ \ ║║ ║╔══╗║ 金 镕 ║ ║讯 管║║楼 楼║║ ║║ ║║ / / / 1到6 \ \ \ ║║ ║║ 31 ║║ ║ ║ ║║4 3 ║║综合楼║║ ║║ *26 / / / 宿舍楼 \ \ \ ║║ ║║ 宿 ║║ 楼 楼 ║ ║楼 楼║║ ║║ ║║ ║║ / / / *27 \ \ \ *28 ║║ *29 ║║ 舍 ║║ ║ ║ ║║ ║║ ║║ ║║ / / / 邂逅时光 \ \ \ ║║ ║║*32 ║╚══════╝ ╚═══╝╚═══╝╚═══╝╚═════╝╚══╝╚═╩═══════╩═╝╚═══╝╚═══════╝╚══╝╔══════╗ ╔═══╗╔═══╗╔═══╗╔═════╗╔═══╗╔══╗╔═══╗╔══╗╔══╗╔═══════╗╔══╗║ ║ ║ ║║ ║║ 龙湖 ║║ ║║ ║║ 南 ║║ *17 ║║ ║║ ║║ ║║ ║║ 29 北 ║ ║ 外 ║║教 教║║ 食府 ║║ 明德 ║║ ║║ 食 ║║ 7 10 ║║ ║║ ║║ ║║ 30 ║║ 生 ║ ║ ║║学 学║║ ║║ ║║ 高 ║║ 堂 ║║ 8 11 ║║ ║║ ║║ ║║ ║║ 28 活 ║ ║ 语 ║║楼 楼║║ 品途 ║║ 讲坛 ║║ 尔 ║║*34 ║║ 9 12 ║║ ║║ ║║ *后 山4 ║║ 32 ║║ 馆 ║ ║ ║║2 1 ║║ 餐厅 ║║ ║║ 夫 ║║ ║║ 宿舍 ║║ 无 ║║ 后 ║║ ║║ ║║ 宿 篮 ║ ║ 楼 ║║ ║║ *11 ║║ ║║ 学 ║╚══╝║ 楼 ║║ ║║ 山 ║║ *31 ║║ 宿 ║║ 舍 球 ║ ║ ║║ ║╚═══╝║ ║║ 院 ║╔══╗╚═══╝║ 名 ║║ 3 ║║ ║║ ║║ 楼 场 ║ ║ *9 ║║ *10 ║╔═══╗║ 行政楼 ║║ ║║ 博 ║╔═══╗║ ║║ ║╚═══════╝║ 舍 ║║ ║ ╚═══╝╚═══╝║ 思源 ║║ ║║ 艺文 ║║ ║║ *16 ║║ 湖 ║║ ╚═╗╔═════╗║ ║║ 北生活馆 ║ ╔════════╗║ 会馆 ║║ ║║ 广场 ║║ 新 ║║13宿舍║║ ║║ *30 ║║ ║║ 楼 ║║ ║ ║ ║║ *12 ║║ *13 ║║ *14 ║║*15 ║║ 楼 ║║*18 ║║ ║║后山篮球场║║ ║║ 26 25 24 23║ ║ 网排篮 ║╚═══╝╚═════╝╚═══╝╚══╝╚═══╝╚══╝╚════╝║ ║║*20 ║║ 19 20 21 22║ ║ 球场 ║╔══════╗ ╔══════════╗╔══╗ ╔════════╗ ║ *19 ║║ ║║ 宿舍楼 ║ ║ ║║ ║ ║ 艺 术 楼 信阳餐厅 ║║ 升达 \ \ ╔════╝ ╚═════╝╚══╝║ ║ ║ ║║ ║ ║ ║║ 餐厅 \ \ / ╔═══════╗║ 北区澡堂 ║ ║ ║║ ║*1║ 教工宿舍 ║║ *7 \╚═╝ ╔═══╝16/18宿舍楼 *8║║ ║小║ 体育场 ║║ 体育馆 ║正║ *5 ║╚════╝ ╚═══════════╝║ *2 ║北║ *3 ║║ *4 ║大║ 14号楼 ║╔════════════════════╗║ ║门║ ║║ ║门║ ║║ *6 27/15/17 宿舍楼 ║╚══════╝ ╚════════╩╩══════╝ ╚══════════╝╚════════════════════╝
Weight.txt:
0 0 0 50 200 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 210 0 0 0 0 0 0 0 0 0 0 0 0 00 120 0 0 0 0 0 0 110 0 0 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 050 0 0 0 0 0 0 0 0 0 0 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
200 0 0 0 0 0 140 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 190 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 140 190 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 110 0 0 0 0 0 0 290 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 290 0 220 0 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 220 0 220 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 00 0 150 160 0 0 0 0 0 0 220 0 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
200 0 0 0 0 0 0 0 0 0 0 70 0 140 0 0 0 0 0 0 0 0 0 0 140 0 0 0 0 0 0 0 0 00 0 0 0 14 0 0 0 0 0 0 0 140 0 70 0 0 0 0 0 0 0 0 0 0 140 0 0 0 0 0 0 0 1500 0 0 0 0 0 0 0 0 0 0 0 0 70 0 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 100 0 0 0 0 0 0 0 70 0 150 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 200 0 0 200 0 0 0 0 0 0 0 0 0 0 150 0 0 0 00 0 0 0 0 0 0 200 0 0 0 0 0 0 0 0 0 200 0 100 0 0 0 0 0 0 0 0 0 100 100 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 100 100 0 00 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 120 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 120 0 290 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 90 0 0 0 0 0 0 0 0 0 0 0 290 0 220 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 220 0 160 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 140 0 0 0 0 0 0 0 0 0 0 160 0 40 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 140 0 0 0 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 100 30 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 30 100 999 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 100 0 0 0 0 0 0 0 0 30 0 0 100 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 0 0 0 30 100 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 100 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 999 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 150 200 0 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
校园导游系统(课程设计)相关推荐
- c语言数据结构校园导游系统,校园导游系统课程设计报告
校园导游系统课程设计报告 目录 1.需求分析1 2.总体设计1 2.1 抽象数据类型图的定义1 2.2 程序中包含的模块1 2.3模块间的调用关系3 3.详细设计3 3.1 代码设计3 3.1.1 定 ...
- java校院导游程序课程设计_数据结构课程设计之校园导游系统
数据结构课程设计之校园导游系统 放假到现在终于安下心来要搞点学习了,现在对放假前一周的数据结构课设做一个总结,快放假的时候搞数据结构课设,当时满脑子都是期末考试忙着复习,根本没啥心思去做.所以课设一共 ...
- 《数据结构课设》弗洛伊德算法设计校园导游系统
大二上学期的数据结构课设分享一下,具体题目如下: 题目27:"校园导游系统"的设计与实现 1.问题描述 设计一个校园导游系统,为来访的客人提供信息查询服务. 2.基本要求 (1)从 ...
- 基于C++ 实现(界面)校园导游系统【100010780】
校园导游系统 概述 设计一个校园导游程序,用户提供各种信息查询服务. 基本要求: 系统中记录了校园中的教学楼.图书馆.食堂.田径场.篮球场.超市.医务室等坐标信息和连接这些坐标的路径信息. 每条路径包 ...
- 校园导游系统数据结构课程设计(附完整代码)
1 问题内容与目的要求 1.1 算法产生的背景: Floyd 算法又称为加点法.插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法.该算法名称以创始人之一.1978 年图灵奖获 ...
- 定位技术课程设计-微信小程序校园导游系统
定位技术课程设计课程设计教学目的课程设计要求课程设计题目原题目拓展内容需求分析原理分析微信小程序API定位原理WIFI指纹定位原理路径规划算法调研详细设计总述主页面介绍学校简介页面介绍导引页面概述导引 ...
- Java课程设计:校园导游系统
校园导游系统 内容目录: 设计要求 功能模块分析 数据库设计 数据库连接 数据库功能的实现 gui的实现 内容目录: 1. 设计要求 2. 功能分析 设计要求 图形化界面(GUI),编写一个文本文件信 ...
- java校院导游程序课程设计_校园导游系统 数据结构课程设计(有源程序)
内容介绍 原文档由会员 莎士比亚 发布 论文标准WORD格式排版 附源程序 海南大学校园导游系统 一. 意义 此程序可以作为庞大的旅游信息查询系统的一个子程序. 二. 程序设计思想 1. 从海南大学的 ...
- 校园导游系统c语言代码,GitHub - iamywang/Campus-Guide-System: 校园导游系统
校园导游系统 Qt5 图形界面版本 v2.1.5 更新内容 2019.2.25 Version 2.1.5 新增道路信息查询功能,输入道路起点和终点即可查询道路具体信息 新增范例地图,支持一键录入已有 ...
最新文章
- 想学测试如何入门和学习软件测试?今天我就好好给你唠唠
- python主要用于系统编程_一文带你了解python是什么?能做什么?为什么(附赠40G项目实战+绝版电子书)...
- PLSQL 的简单命令之四
- 文件系统对性能的影响
- 软件开发中Alpha、Beta、RC、GA版本的含义
- 面试(2)——StringBuffer StringBuilder String /==与equals
- 【英语天天读】Develop Your Own Helping Rituals
- java.sql.Date.valueOf处理日期格式IllegalArgumentException异常
- [PTA]实验5-6 使用函数判断完全平方数
- 微信小程序云开发--云存储的使用(一)
- 360漏洞修复的提取
- Vuex 之二:3种拿到 state 中数据并执行 getters 中方法的过程与实例剖析
- vulnhub——Bulldog1
- GAN小结(BEGAN EBGAN WGAN CycleGAN conditional GAN DCGAN PGGAN VAEGAN)
- Arduino IDE 开发 ESP-01S/ESP-01物联网实战检测温度湿度上传MQTT服务器
- ASP.NET中的配置文件
- MobileNet V1官方预训练模型的使用
- DEV——ComboBoxEdit(barEditItem)
- Panda3D 获取鼠标位置、Panda3D任务管理器
- bilibili账号申诉中心_关于b站的账号找回申诉机制