店铺咨询系统c语言,课内资源
1 题目介绍
1.1 问题描述
出于不同目的的旅客对交通工具和交通路径有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个交通咨询系统程序,为旅客提供最优决策的交通咨询。
1.2 需求分析提供对城市信息进行编辑的功能,包括交通信息的增加,删除,修改。
城市之间有两种交通工具:火车和飞机。
提供两种最优决策 : 最快到达或最省钱到达。全程只考虑一种交通工具。
咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具 , 输出信息 : 最快需要多长时间才能到达或者最少需要多少旅费才能到达。
2 系统功能分析
2.1 概要分析
交通咨询系统包括交通信息的查询,交通信息的增加与修改,最省时间与最省钱的路线的生成。
2.2 功能结构分析
为了实现交通咨询系统的作用,系统包含功能如图所示。
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个功能模块组成:添加城市、删除程序、采用火车出行、采用飞机出行
下面给出功能模块图,如图所示。
4.2 主要函数调用关系图
ADT内基本操作函数之间的函数调用关系图,如图所示。
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 主界面设计
为了实现全国交通咨询模拟系统,需要设计一个含有多菜单项的主控菜单子程序,以链接系统中各个子项目的调用,为了方便用户使用本系统,本系统主控菜单的运行界面如图所示。
5.2 运行结果及分析
交通资讯系统调试成功后在本地运行结果如下:
查看城市
选择最短时间路线的两种方式
选择以火车的方式出行
坐火车从石家庄到贵阳的最短时间路线与所花费的金额
从成都到贵阳的最少花费与时间
管理员程序
增添新城市 沧州
增添石家庄到沧州的火车费用
增添石家庄到沧州的火车时间
坐火车从石家庄到沧州的最短时间
店铺咨询系统c语言,课内资源相关推荐
- C语言编程求解圆盘的汉诺塔,课内资源 - 基于80x86汇编的汉诺塔
一.软件背景介绍 我们今天要陈述的应用叫做汉诺塔,大家可能小时候都接触过类似于鲁班锁,九连环的益智玩具,我们要说的汉诺塔其实也可以说是益智玩具的一种. 下面我们具体介绍一下汉诺塔.汉诺塔有三根杆子A, ...
- java实现一元多项式减法,课内资源 - 基于C语言实现的一元多项式的计算
一.概述 通过C语言使用链式存储结构实现一元多项式加法.减法和乘法的运算.按指数降序排列. 二.需求分析 建立一元多项式并按照指数降序排列输出多项式,将一元多项式输入并存储在内存中,能够完成两个多项式 ...
- devccp中c语言输入二维数组,课内资源
1 概述1.1 项目简介本次实训项目是做一个飞机大战的游戏,应用MFC编程,完成一个界面简洁流畅.游戏方式简单,玩起来易于上手的桌面游戏.该飞机大战项目运用的主要技术即是MFC编程中的一些函数.链表思 ...
- c语言外卖程序,课内资源 - 基于C语言的外卖派单模拟系统
一.课题任务概述 你运行一家外卖快递服务店,负责一个区域内的外卖订单接收和餐食快递.你有一笔启动资金,可以招募外卖骑手帮你送餐,来赚取快递费.但你也会面临风险,本区域的订单你都有义务接收,不能拒绝,若 ...
- 用c语言写扫雷游戏倒计时代码,课内资源 - 基于VS2013实现的扫雷小游戏
1.任务概述 1.1 系统总体目标 本项目的目的在于开发一个扫雷软件,该软件面向游戏玩家用户,具有进行扫雷游戏的功能.游戏玩家将使用系统中的如下功能: 进行游戏 使用自定义游戏规格功能 使用计时器功能 ...
- 餐厅管理程序c语言源代码,课内资源 - 基于C++的餐厅管理程序的设计与实现
摘 要 随着计算机应用技术的快速发展和日益普及,网络也遍及到我们生活的每个角落,为我们的学习和工作带来极大的方便.很多人都使用过传统的文字,纸张管理手段,与之不同的另外一种管理方式就是利用电脑程序管理 ...
- c语言文字冒险类游戏,课内资源 - 基于C语言和easyx实现的巧虎划船大冒险游戏...
1 需求分析 1.1 功能需求 游戏性:通过键盘方向键的←.→.↑.↓来控制巧虎(船)的移动,躲避暗礁,碰撞宝物(特殊宝物),来增加积分,在倒计时结束前(到达终点前)争取得到更多分数.为提高可玩性,宝 ...
- c语言全民飞机游戏代码,课内资源 - 基于VC++和OpenCV实现的全民飞机大战游戏
摘要功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌方 ...
- 数学金字塔C语言原函数,课内资源 - 基于C语言实现的金字塔问题(Pyramid Problem)...
1 开发软件说明 Dev C++是一个 Windows 下的C 和C++程序的集成开发环境,是一款自由软件,遵守GPL 许可协议分发源代码.它使用MingW32/GCC 编译器,遵循 C/C++ 11 ...
最新文章
- LTE PUCCH Format1
- Ubuntu配置上位机Blackfin开发环境手记
- Windows 技术篇-减少对视频相关服务的cpu分配,减少cpu占用率
- 删除链表重复节点 python_java删除链表中重复的节点(保留一个节点)
- python 乘法运算定律_计算机组成原理(上)资料
- 【内含福利】七牛云线下专场活动免费报名
- CentOs基础操作指令(时间日期、搜索查找)
- CentOS 6.5安装配置Nginx
- 人工智能各层思维导图
- 金蝶K3CLOUD7.2内部培训PPT下载
- 苹果Mac OS X 10.6 Snow Leopard雪豹操作系统BT种子(.torrent)下载,6.13G个人版和Sever服务器版
- 哪个手机浏览器可以倍速_手机四款浏览器APP的比较
- qq说说时间轴php实现,QQ说说时间 qq说说时间轴
- 一个区块链美女小白的蜕变——我庆幸自己能生活在这个高速时代!
- Matplotlib绘制图片——膨胀算法
- linux+格式化磁盘格式化,Linux下的磁盘格式化
- SeleniumLibrary4.5.0 关键字详解(五)
- P4995 跳跳! java 洛谷
- CXXNET 安装教程
- Myeclipse下载github上项目到本地(图解)
热门文章
- 数组正遍历,数组倒遍历
- MySQL5.7.x 安装 Linux7环境
- IDEA 断点调试高级玩法 |debug高手必看!
- RabbitMQ 集群搭建_02_rpm版本(linux环境)
- win10 下安装、配置、启动mysql5.7
- python3-pandas 缺失数据的处理
- iphone字体_iPhone 适合老人盘吗?
- full join 和full outer join_多表关联:公式展开、join、过滤条件的顺序
- Qt中QMap删除元素的简单使用
- BugkuCTF-Crypto题你喜欢下棋吗