校园导游系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、需求分析 (1)
2、总体设计 (1)
2.1 抽象数据类型图的定义 (1)
2.2 程序中包含的模块 (1)
2.3 模块间的调用关系 (3)
3、详细设计 (3)
3.1 代码设计 (3)
3.1.1 定义结构体和全局变量 (3)
3.1.2 平面图的初始化 (4)
3.1.3 最短路径查询 (5)
3.1.4 景点信息查询 (8)
3.1.5 景点信息更新 (8)
3.2 界面分析 (9)
3.2.1 主程序界面 (9)
3.2.2 景点信息的查询 (10)
3.2.3 最短路径查询..................................................................................... 1 1
3.2.4 管理校园查询系统 (12)
4、总结报告 (12)
参考文献 (13)
设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。(1).设计潍坊学院校园平面图,所含的景点不少于 10 个。以图中顶点表示校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2).为来访客人提供图中任意景点相关信息的查询。
(3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
2.1 概要设计
2.1.1 函数定义的变量
/*定义符号常量*/
#define INT_MAX 10000
#define n 10
/*定义全局变量*/
int cost[n][n]; /* 边的值*/
int shortest[n][n];/* 两点间的最短距离*/
int path[n][n]; /* 经过的景点*/
2.1.2 程序中包含的模块
(1)主程序模块
void main()/*主函数*/
打印菜单,景点,景点信息
定义景点之间的权值
(2)查询模块
景点信息查询: void introduce()/*景点介绍*/
最短路径查询: int shortestdistance() /*要查找的两景点的最短距离*/
void floyed()/*用 floyed 算法求两个景点的最短路径*/
(3)打印模块
打印最短路径: void display(int i,int j) /* 打印两个景点的路径及最短距离*/
2.1.3 模块间的调用关系
Main ()
#include<stdio.h>
void
introduce()
int shortestdistance()
void display()
void floyed()
#include<process.h>
/*定义符号常量*/
#define INT_MAX 10000
#define n 10
/*定义全局变量*/
int cost[n][n]; /* 边的值*/
int shortest[n][n];/* 两点间的最短距离*/ int path[n][n]; /* 经过的景点*/
/*自定义函数说明*/
void introduce();
int shortestdistance();
void floyed();
void display(int i,int j);
void main()
{
int i,j;
char k;
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
cost[i][j]=INT_MAX;
cost[1][7]=cost[7][1]=200;
cost[1][4]=cost[4][1]=200;
cost[4][7]=cost[7][4]=300;
cost[2][7]=cost[7][2]=400;
cost[4][10]=cost[10][4]=100;
cost[4][9]=cost[9][4]=150;
cost[4][8]=cost[8][4]=200;
cost[10][5]=cost[5][10]=50;
cost[10][9]=cost[9][10]=150;
cost[2][8]=cost[8][2]=50;
cost[2][3]=cost[3][2]=100;
cost[6][5]=cost[5][6]=150;
cost[5][9]=cost[9][5]=150;
cost[9][8]=cost[8][9]=50;
cost[8][3]=cost[3][8]=150;
cost[1][1]=cost[2][2]=cost[3][3]=cost[4][4]=cost[5][5]=0;
cost[6][6]=cost[7][7]=cost[8][8]=cost[9][9]=cost[10][10]=0;
while(1)
{
printf(" ‖〓〓〓〓〓〓〓★欢迎使用潍坊学院导游系统!★〓〓〓〓〓〓〓‖");
printf(" ‖
printf(" ‖ "); printf(" ‖
printf (" ‖ 1.景点信息查询———————请按
2. 景点最短路径查询—————请按
〖introduc 〗键
‖");
s 〖shortestdistance 〗
键 ‖ ");
printf (" ‖ ‖");
printf(" ‖ 3.退出系统—————————请按 e 〖exit 〗键 ‖
");
printf (" ‖ ‖");
printf (" ‖学校景点列表: ‖");
printf (" ‖ ‖");
printf (" ‖ 1:学校南门 2:操场 3:体育馆 4:行政楼 5:一号宿舍 ‖");
printf (" ‖ ‖");
printf (" ‖6:二号餐厅 7:天一教学楼 8:洪德湖 9:图书馆 10:一号餐厅‖");
printf (" ‖ ‖");
printf(" ‖〓〓〓〓〓〓★欢迎使用潍坊学院导游系统!★〓〓〓〓〓〓〓‖\n"); printf("\n 【请选择服务】 :");
scanf("\n%c",&k);
switch(k)
{
case 'i':
‖");
‖