店鋪咨詢系統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.pswp.cn/news/532231.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532231.shtml
英文地址,請注明出處:http://en.pswp.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電視圖片輪播,電視投屏居然還能這樣玩?

原標題:電視投屏居然還能這樣玩?現如今,投屏幾乎成為大家日常生活必不可少的一種觀影方式,通過電視投屏可以帶來更清晰的畫面效果,成為追劇黨以及各類球賽愛好者的不二之選。那么今天小智就以索尼電視為例,…