校园导游系统课程设计报告

目录 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 最短路径查询11 3.2.4 管理校园查询系统12 4、总结报告12 参考文献13 1、需求分析 设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。 (1).设计潍坊学院校园平面图,所含的景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2).为来访客人提供图中任意景点相关信息的查询。 (3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 2、算法设计 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() void introduce() int shortestdistance() void floyed() void display() 2.2 详细设计 #include #include /*定义符号常量*/ #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;i10的数字编号并用 , 间隔):“); scanf(“%d,%d“, if(i>n||in||j10的数字编号并用 , 间隔):\n“); scanf(“%d,%d“, } else { floyed(); display(i,j); } return 1; }/*shortestdistance*/ void floyed()/*用floyed算法求两个景点的最短路径*/ { int i,j,k; for(i=1;i%d“,path[i][j]); if(i%d“,b); printf(“\n\n“); printf(“(%d->%d)最短距离是:%5d米\n\n“,a,b,shortest[a][b]); } } else printf(“输入错误!不存在此路!\n\n“); printf(“\n“); } /*display*/ 3 测试结果 3.1 主程序界面 根据图中提示选择要执行的操作 图1 主界面 3.2输入错误 输入i ,s ,e来完成相应的操作,如果输入有误,系统将显示错误信息,请重新输入。 3.3 景点信息的查询 输入你要查询的景点名称:通过调用函数void introduce()来查询景点信息。 如果输入的景点不存在,系统会提示你输入错误,请重新输入。 图2 信息查询界面 输入编号存在,则系统显示要查询的景点信息。 3.4 最短路径查询 输入你所在的景点和要到达的景点,将输出这两点的最短距离: 调用函数void floyed();来求最短路径。 图3 路径查询界面 3.5 退出系统 根据提示按“e”退出该系统,程序结束。 4、总结报告 通过本次课程设计实验,使我更能熟练地掌握c语言、c++以及数据结构等知识的综合运用。当然在课程设计期间,也遇到了大大小小的一些问题,是我看到了自己的不足之处,使我认识到在以后的学习中要善于发现自己的不足,找出自己的薄弱环节,以便能够更好的去巩固所学的。 本次设计中要求求最短路径,就必须了解最短路径的算法:Dijkstra算法和Floyd算法。在拿到题目时,通过查找相关的资料才回忆起这两种方法的具体算法。比较这两种算法的复杂度,尽量选用复杂度小。当然任何程序都不可能完美,往往会牺牲程序的空间来换取时间,或者牺牲时间来换取足够大的空间,这就需要根据程序的具体要求来设计算法。在选用存储方法是,要尽量选用时间复杂度较小的方法,这样能够节省程序执行时间,提高查询效率。 课程设计中所使用的计算机语言其使用范围比较广阔,在很多编程中都可以用到,所以无论以后我们从事计算机编程、软件设计还是硬件、网络等领域,都应该学会、学精一门编程语言,这对我们以后的学习和工作有很大的帮助。 参考文献 [1].秦锋.数据结构:中国科学技术大学出版社,2007 [2].温秀梅,丁学钧.VisualC++面向对象程序设计.北京:清华大学出版社,2007 [3].徐孝凯.C++语言基础教程.北京:清华大学出版社,2006

c语言数据结构校园导游系统,校园导游系统课程设计报告相关推荐

  1. 学时选课系统源码(含课程设计报告)

    题目:学生选修课程系统设计 功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息.试设计一选修课程系统. 分步实施: 1.初步完成总体设 ...

  2. C语言源码做的班级档案管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

  3. C语言源码做的职工工资管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

  4. c语言课程设计报告停车系统,停车场管理系统C语言课程设计

    <停车场管理系统C语言课程设计>由会员分享,可在线阅读,更多相关<停车场管理系统C语言课程设计(27页珍藏版)>请在人人文库网上搜索. 1.计算机科学与技术系课程设计报告20 ...

  5. c语言实现一元多项式程序报告设计,数据结构课程设计报告一元多项式的计算..doc...

    数据结构课程设计报告一元多项式的计算. 题目:一元多项式的计算 --链表 摘要(题目) 一元多项式计算 任务:能够按照指数降序排列建立并输出多项式: 能够完成两个多项式的相加.相减,并将结果输入: 目 ...

  6. c语言数据结构课程设计电梯,数据结构课程设计报告(模拟电梯).doc

    数据结构课程设计报告(模拟电梯) 山东理工大学计算机学院 课 程 设 计 (数据结构) 班 级姓 名学 号 指导教师 二〇一二年一月十日 课程设计任务书及成绩评定 课题名称电 梯 模 拟 Ⅰ.题目的目 ...

  7. 数据结构c语言程序设计报告,数据结构与算法课程设计报告模版.doc

    数据结构与算法课程设计报告模版.doc 数据结构与算法课程设计报告题 目本科生导师制问题与家族关系查询系统院 (系) 信息科学与工程 专业班级 计算机应用技术1301班 学生姓名 顾 泉 学 号 20 ...

  8. 计算机网络课程设计报告 组建校园局域网,计算机网络课程设计报告-组建校园局域网.pdf...

    课程设计报告 课程设计题目:组建校园局域网 专 业: 班 级: 姓 名 : 学 号 : 指导教师 : 2015 年 7 月 3 日 计算机网络课程设计 目录 一.课程设计目的及要求 - 2 - 1.1 ...

  9. c语言课程设计北京电子工业出版社,C语言课程设计报告(招生查询系统).doc

    PAGE 课 程 设 计 报 告 题目: 招生查询系统 课程名称: C语言程序设计 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 2013.10.16 计算机科学与技术学院 任务书 题目㈠ ...

最新文章

  1. Geoserver怎样发布图层组(shapefile文件)
  2. Oracle之锁表问题
  3. 使用动态SQL获取具有非空字段的自定义表结构
  4. 上楼梯算法的java实现(转)
  5. 红旗Linux 网卡bond,Linux双网卡绑定一个IP的实现
  6. linux 浏览器缓存目录在哪里找,火狐浏览器缓存文件在什么位置?缓存文件位置分享...
  7. M1 mac 安装打印机驱动程序
  8. 基于Unity的阿里云短信SDK接入流程
  9. 如何用vm虚拟机当服务器,vm虚拟机如何做云服务器
  10. 智慧树omg期末测试答案_智慧树求职omg第十五章节测试答案
  11. 【剑桥摄影协会】色彩管理之概述
  12. App 应用测试方法以及测试思路……
  13. 3D游戏设计-牧师与魔鬼_动作分离版
  14. 生物医学工程专业及医疗IT相关网站
  15. win8.1和Ubuntu14.04.1双系统的安装
  16. 《翻转式学习——传统教育弊端》分享
  17. windows下phpmyadmin的安装与配置
  18. 数控放大器 4051
  19. 绘声绘影——视影成双(2)
  20. 县区查询python

热门文章

  1. 【实验报告】实验五 会员管理系统的设计开发1
  2. 记录一下自己刷题的错题
  3. CyanogenMod 表示不会推出基于预览版 Android L 的CM ROM
  4. 简明入门讲义——DNS架构是如何发展的
  5. 一个27岁妹子的软件测试之路
  6. 为玩客云或树莓派安装LNMP和PhpMyAdmin
  7. 360移动端性能监控实践QDAS-APM(iOS篇)
  8. 《Unix/Linux日志分析与流量监控》书稿完成
  9. [竖立正确的贝叶斯三观] 关于predictive distribution 和非参贝叶斯的理解
  10. 编写一个程序,将某个位数不确定的正整数进行三位分节后输出(Python)