店铺咨询系统c语言,课内资源

1 题目介绍

1.1 问题描述

出于不同目的的旅客对交通工具和交通路径有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个交通咨询系统程序,为旅客提供最优决策的交通咨询。

1.2 需求分析提供对城市信息进行编辑的功能,包括交通信息的增加,删除,修改。

城市之间有两种交通工具:火车和飞机。

提供两种最优决策 : 最快到达或最省钱到达。全程只考虑一种交通工具。

咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具 , 输出信息 : 最快需要多长时间才能到达或者最少需要多少旅费才能到达。

2 系统功能分析

2.1 概要分析

交通咨询系统包括交通信息的查询,交通信息的增加与修改,最省时间与最省钱的路线的生成。

2.2 功能结构分析

为了实现交通咨询系统的作用,系统包含功能如图所示。

3d9c7062c047274238c9c8d6722f9b6e.png

3 数据结构设计

3.1 抽象数据类型定义typedefstructunDiGraph

{

intnumVerts;//结点

costAdj cost;//邻接矩阵

}unDiGraph,*UNG;

基本操作:

unDiGraph*CreateCostG()

操作结果:构造带权(费用)图。

unDiGraph*CreateTimeG()

操作结果:构造带权(时间)图。

构造飞机带权(费用)图。

PathMat*Floyed(unDiGraph*D)

操作结果:Floyed函数 求任意两点的最短路径。

3.2 预存数据结构

为了便于系统测试使用,在系统初始化时便存入了预留的数据。

3.2.1 预存城市信息及编号

1.成都

2.兰州

3.石家庄

4.郑州

5.武汉

6.贵阳

3.2.2预存交通信息

成都与郑州之间的火车行程的时间为2,费用为4。

成都与兰州之间的火车行程的时间为3,费用为5。

成都与武汉之间的火车行程的时间为1,费用为3。

武汉与郑州之间的火车行程的时间为1,费用为2。

兰州与武汉之间的火车行程的时间为3,费用为6。

兰州与石家庄之间的火车行程的时间为1,费用为3。

武汉与贵阳之间的火车行程的时间为5,费用为2。

贵阳与石家庄之间的火车行程的时间为2,费用为4。

贵阳与兰州之间的火车行程的时间为4,费用为1。

成都与武汉之间的飞机行程的时间为3,费用为3。

成都与兰州之间的飞机行程的时间为1,费用为1。

兰州与石家庄之间的飞机行程的时间为2,费用为5。

兰州与贵阳之间的飞机行程的时间为4,费用为2。

石家庄与贵阳之间的飞机行程的时间为3,费用为1。

武汉与贵阳之间的飞机行程的时间为2,费用为3。

武汉与石家庄之间的飞机行程的时间为3,费用为4。

4 功能模块设计

实现全国交通咨询模拟系统的开发,采用图结构类型存储城市的信息。其中,各城市间的邻接关系用图的邻接矩阵类型存储;城市信息用结构体数组存储,其中每个数组元素是一个结构体变量,包含时间和费用三个分量;图的顶点的个数和边的个数由变量费用、时间大小表示,它们是整型数据。

4.1 主要功能模块设计

全国交通咨询模拟系统由4个功能模块组成:添加城市、删除程序、采用火车出行、采用飞机出行

下面给出功能模块图,如图所示。

3d9c7062c047274238c9c8d6722f9b6e.png

4.2 主要函数调用关系图

ADT内基本操作函数之间的函数调用关系图,如图所示。

5683bdb05d40bc77dd83cb3c33cd33c2.png

4.3 费洛伊德算法求最小路径初始化:D[u,v]=A[u,v]

For k:=1 to n

For i:=1 to n

For j:=1 to n

If D[i,j]>D[i,k]+D[k,j] Then

D[i,j]:=D[i,k]+D[k,j];

算法结束:D即为所有点对的最短路径矩阵

5 调试与运行结果

5.1 主界面设计

为了实现全国交通咨询模拟系统,需要设计一个含有多菜单项的主控菜单子程序,以链接系统中各个子项目的调用,为了方便用户使用本系统,本系统主控菜单的运行界面如图所示。

44bf0aee2a5f1693a123f04269144971.png

5.2 运行结果及分析

交通资讯系统调试成功后在本地运行结果如下:

查看城市

7ffd53d434c176652a47f2eec56ab874.png

选择最短时间路线的两种方式

f01d1898194b9865898f49876cb25283.png

选择以火车的方式出行

78b6b4ee8da490551c49fee6d18cf6fe.png

坐火车从石家庄到贵阳的最短时间路线与所花费的金额

6ff76d331a630ebe7f6923cd30c4a4ff.png

从成都到贵阳的最少花费与时间

6dc43cea37e13337c936a23eb0f445a6.png

管理员程序

a9586b2eb619c88129bb1eb3e9594607.png

增添新城市 沧州

c0adbf9e6d47a01abca8caadfefc1f0c.png

增添石家庄到沧州的火车费用

a1dd00e6bbfa2bdee54fbafced2b2c95.png

增添石家庄到沧州的火车时间

e64fbd05aca522478266fb3f08f7ce39.png

坐火车从石家庄到沧州的最短时间

1bc242b329611fb92567ec0907d0f17b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

f分布表完整图_【教育统计答疑】如何理解正态分布、均值分布、^2分布、t分布和F分布...

许多教育统计的初学者都表示这几个分布感到学起来非常吃力,结合最近上课的体会以及答疑的情况,觉得很有必要在这里简单地对这部分内容进行澄清和梳理,以助理解。首先,“为什么要学习这几个分布”可能是许多人纠结的问题&#xff0…

c语言第一章考试题及答案,C语言考试题库及答案整理版.doc

C语言考试题库及答案整理版.docC语言理论上机考试选择题部分(共200题)1、下面程序的输出是___D______#includevoid main(){ int k11;printf("k%d,k%o,k%x\n",k,k,k);}A) k11,k12,k11 B) k11,k13,k13C) k11,k013,k0xb D) k11,k13,kb2、在下列选项中,不正确的赋值语句是…

python每天定时9点执行_python每天定时运行某程序代码

思路:利用time函数返回的时间字符串与指定时间字符串做比较,相等的时候执行对应的操作。不知道大家的思路是什么,感觉这样比较耗CPU。。。。 此处设置为15:30:10 输出相应内容,需要执行什么,就修改什么。 import time …

新颖的c语言题目,新颖版c语言经典习题100例(全面面)

新颖版c语言经典习题100例(全面面) (66页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分实用文档C语言习题100例(最新整理版)习题目录:(按住Ctrl点击可以快速跳转到…

c语言jt808协议库,平台如何应答——关于JT/T808协议

前两篇也说明了一些应答的相关内容,对于刚接触的开发者来说恐怕还是不太容易理解,这里专门列举一个篇幅来讲解如何针对终端设备上报的信息进行应答。严格来讲,如果不应答,终端设备会判别为服务平台断开连接,就会重复发…

熊猫的python小课账号_学习python中的pandas有没有好的教程推荐?

之前好多人私信我python数据分析怎么快速入门,我在这里直接介绍一下自己的心得经验吧。 要学习pandas,我并不建议看大量的教程,等看完教程,天都黑了,一觉醒来热情都凉了。 我的建议是,首先放平心态&#xf…

rssi定位算法 c语言,【论文※】An RSSI Gradient-based AP Localization Algorithm 基于RSSI梯度的AP定位算法...

摘要:Recent rapid rise of indoor location based services for smartphones has further increased the importance of precise localization of Wi-Fi Access Point(AP).However,most existing AP localization algorithms either exhibit high errors or need s…

arm体系结构与编程_教程:如何学习嵌入式系统(基于ARM平台)

一、嵌入式系统的概念 着重理解“嵌入”的概念 主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部…

ubuntu nfs linux,Ubuntu的NFS功能配置

环境:Ubuntu 10.04步骤:1.sudo apt-get install portmap2.sudo apt-get install nfs-kernel-server注意:第2步我安装失败,换源后仍然如此,最后我在新立得里面搜索到nfs-kernel-server,安装成功3.在更目录下新建共享目录:mkdir /forlinux4.gedit /etc/exprots,在后面添加/forlin…

python import 路径_python import 上级目录的导入

python import 上级目录的导入,路径,上级,文件,目录,递归 python import 上级目录的导入 易采站长站,站长之家为您整理了python import 上级目录的导入的相关内容。 有时候我们可能需要import另一个路径下的python文件,例如下面这个目录结构,…

一个android工程生成两个aar,android studio生成aar包并在其他工程引用aar包(示例代码)...

1.aar包是android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件2.生成aar包步骤:①.用android studio打开一个工程,然后新建一个Module&#…

python设计一个动物类_我用Python实现了12500张猫狗图像的精准分类

我用 Python 实现了 12500 张猫狗图像的精准分类 在这篇文章中,我们将展示如何建立一个深度神经网 络,能做到以 90% 的精度来对图像进行分类,而在深度神 经网络,特别是卷积神经网络兴起之前,这还是一个非常困 难的问题…

android 尺寸变化动画,Android ScaleAnimation类:尺寸变化动画类

ScaleAnimation类是Android系统中的尺寸变化动画类,用于控制View对象的尺寸变化,该类继承于Animation类。 ScaleAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是ScaleAnimation构造方法。【基本语法】public ScaleAnimat…

javascript 本地对象和内置对象_详解 JavaScript 面向对象

1. 概述JavaScript面向对象比较难理解的点是类的继承。不管是es5写法还是es6写法,JavaScript继承的本质是原型链。具体可看我的上一篇文章:田浩:详解原型、原型链、构造函、实例、new​zhuanlan.zhihu.com因为es6有专门的语法,写法…

android wifi设备连接通信,通过wifi与设备进行通信(Android)

通过wifi与设备进行通信(Android)[复制链接]本帖最后由 灞波儿奔 于 2019-2-17 21:40 编辑通过wifi与设备进行通信(Android)最近leader决定把app与设备之间的通信改为wifi,通过http协议实现设备之间的通信。相对与之前的蓝牙通信,的确简单不少&#xff0…

工作汇报ppt案例_【赠书】开工大吉!今年一定要干过写PPT的!

不知不觉,春节就过去了,新年开工,朋友圈里晒满了开工红包,领了开工礼就意味着真正新的一年开始了。虽然假期的慵懒安逸留下了倦怠的后遗症,但状态依旧切换到工作模式,毕竟每年都希望能比过去更进一步&#…

android webview 长按复制,Android webview 点击或长按有蒙层 – 热爱改变生活

Android 使用 webview 加载本地 html,在本地 html 上面点击的时候会有一层橙色的蒙层,使用下面的代码可以去掉。body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquo…

postscript打印机什么意思_涨知识|你不知道的关于打印机的打印过程和打印机驱动的那些事...

以前一直以为打印很简单,不就是编辑好文件按个“打印”就行了?但其实打印过程可以复杂到你分分钟“怀疑人生”。你以为的打印过程可能是这样的 ↓。我们看到的打印过程然而,真正的打印过程是这样的 ↓。实际上的打印过程打印机打印一页文件或…

python dicom图像分割_python读取DICOM头文件的实例

这篇文章主要介绍了关于python 读取DICOM头文件的实例,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 用dicompyler软件打开dicom图像,头文件如图所示:当然也可以直接读取: ds dicom.read_…

索尼android电视图片轮播,电视投屏居然还能这样玩?

原标题:电视投屏居然还能这样玩?现如今,投屏几乎成为大家日常生活必不可少的一种观影方式,通过电视投屏可以带来更清晰的画面效果,成为追剧党以及各类球赛爱好者的不二之选。那么今天小智就以索尼电视为例,…