店铺咨询系统c语言,课内资源
1 題目介紹
1.1 問題描述
出于不同目的的旅客對(duì)交通工具和交通路徑有不同的要求。例如,因公出差的旅客希望在旅途中的時(shí)間盡可能短,出門旅游的游客則期望旅費(fèi)盡可能省,而老年旅客則要求中轉(zhuǎn)次數(shù)最少。編制一個(gè)交通咨詢系統(tǒng)程序,為旅客提供最優(yōu)決策的交通咨詢。
1.2 需求分析提供對(duì)城市信息進(jìn)行編輯的功能,包括交通信息的增加,刪除,修改。
城市之間有兩種交通工具:火車和飛機(jī)。
提供兩種最優(yōu)決策 : 最快到達(dá)或最省錢到達(dá)。全程只考慮一種交通工具。
咨詢以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。由用戶輸入起始站、終點(diǎn)站、最優(yōu)決策原則和交通工具 , 輸出信息 : 最快需要多長(zhǎng)時(shí)間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá)。
2 系統(tǒng)功能分析
2.1 概要分析
交通咨詢系統(tǒng)包括交通信息的查詢,交通信息的增加與修改,最省時(shí)間與最省錢的路線的生成。
2.2 功能結(jié)構(gòu)分析
為了實(shí)現(xiàn)交通咨詢系統(tǒng)的作用,系統(tǒng)包含功能如圖所示。
3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
3.1 抽象數(shù)據(jù)類型定義typedefstructunDiGraph
{
intnumVerts;//結(jié)點(diǎn)
costAdj cost;//鄰接矩陣
}unDiGraph,*UNG;
基本操作:
unDiGraph*CreateCostG()
操作結(jié)果:構(gòu)造帶權(quán)(費(fèi)用)圖。
unDiGraph*CreateTimeG()
操作結(jié)果:構(gòu)造帶權(quán)(時(shí)間)圖。
構(gòu)造飛機(jī)帶權(quán)(費(fèi)用)圖。
PathMat*Floyed(unDiGraph*D)
操作結(jié)果:Floyed函數(shù) 求任意兩點(diǎn)的最短路徑。
3.2 預(yù)存數(shù)據(jù)結(jié)構(gòu)
為了便于系統(tǒng)測(cè)試使用,在系統(tǒng)初始化時(shí)便存入了預(yù)留的數(shù)據(jù)。
3.2.1 預(yù)存城市信息及編號(hào)
1.成都
2.蘭州
3.石家莊
4.鄭州
5.武漢
6.貴陽
3.2.2預(yù)存交通信息
成都與鄭州之間的火車行程的時(shí)間為2,費(fèi)用為4。
成都與蘭州之間的火車行程的時(shí)間為3,費(fèi)用為5。
成都與武漢之間的火車行程的時(shí)間為1,費(fèi)用為3。
武漢與鄭州之間的火車行程的時(shí)間為1,費(fèi)用為2。
蘭州與武漢之間的火車行程的時(shí)間為3,費(fèi)用為6。
蘭州與石家莊之間的火車行程的時(shí)間為1,費(fèi)用為3。
武漢與貴陽之間的火車行程的時(shí)間為5,費(fèi)用為2。
貴陽與石家莊之間的火車行程的時(shí)間為2,費(fèi)用為4。
貴陽與蘭州之間的火車行程的時(shí)間為4,費(fèi)用為1。
成都與武漢之間的飛機(jī)行程的時(shí)間為3,費(fèi)用為3。
成都與蘭州之間的飛機(jī)行程的時(shí)間為1,費(fèi)用為1。
蘭州與石家莊之間的飛機(jī)行程的時(shí)間為2,費(fèi)用為5。
蘭州與貴陽之間的飛機(jī)行程的時(shí)間為4,費(fèi)用為2。
石家莊與貴陽之間的飛機(jī)行程的時(shí)間為3,費(fèi)用為1。
武漢與貴陽之間的飛機(jī)行程的時(shí)間為2,費(fèi)用為3。
武漢與石家莊之間的飛機(jī)行程的時(shí)間為3,費(fèi)用為4。
4 功能模塊設(shè)計(jì)
實(shí)現(xiàn)全國交通咨詢模擬系統(tǒng)的開發(fā),采用圖結(jié)構(gòu)類型存儲(chǔ)城市的信息。其中,各城市間的鄰接關(guān)系用圖的鄰接矩陣類型存儲(chǔ);城市信息用結(jié)構(gòu)體數(shù)組存儲(chǔ),其中每個(gè)數(shù)組元素是一個(gè)結(jié)構(gòu)體變量,包含時(shí)間和費(fèi)用三個(gè)分量;圖的頂點(diǎn)的個(gè)數(shù)和邊的個(gè)數(shù)由變量費(fèi)用、時(shí)間大小表示,它們是整型數(shù)據(jù)。
4.1 主要功能模塊設(shè)計(jì)
全國交通咨詢模擬系統(tǒng)由4個(gè)功能模塊組成:添加城市、刪除程序、采用火車出行、采用飛機(jī)出行
下面給出功能模塊圖,如圖所示。
4.2 主要函數(shù)調(diào)用關(guān)系圖
ADT內(nèi)基本操作函數(shù)之間的函數(shù)調(diào)用關(guān)系圖,如圖所示。
4.3 費(fèi)洛伊德算法求最小路徑初始化: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];
算法結(jié)束:D即為所有點(diǎn)對(duì)的最短路徑矩陣
5 調(diào)試與運(yùn)行結(jié)果
5.1 主界面設(shè)計(jì)
為了實(shí)現(xiàn)全國交通咨詢模擬系統(tǒng),需要設(shè)計(jì)一個(gè)含有多菜單項(xiàng)的主控菜單子程序,以鏈接系統(tǒng)中各個(gè)子項(xiàng)目的調(diào)用,為了方便用戶使用本系統(tǒng),本系統(tǒng)主控菜單的運(yùn)行界面如圖所示。
5.2 運(yùn)行結(jié)果及分析
交通資訊系統(tǒng)調(diào)試成功后在本地運(yùn)行結(jié)果如下:
查看城市
選擇最短時(shí)間路線的兩種方式
選擇以火車的方式出行
坐火車從石家莊到貴陽的最短時(shí)間路線與所花費(fèi)的金額
從成都到貴陽的最少花費(fèi)與時(shí)間
管理員程序
增添新城市 滄州
增添石家莊到滄州的火車費(fèi)用
增添石家莊到滄州的火車時(shí)間
坐火車從石家莊到滄州的最短時(shí)間
總結(jié)
以上是生活随笔為你收集整理的店铺咨询系统c语言,课内资源的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用HTML做一个简单的web登录页面,简
- 下一篇: 怎么win10老是有通知 Win10通知