校園導遊諮詢系統

2021-03-15 11:58:36 字數 2597 閱讀 2032

安徽理工大學

資料結構

課程設計說明書

題目: 校園導遊諮詢系統

院系: 電腦科學與工程學院

專業班級: 計算機

學號 學生姓名

指導教師

2023年 07 月 11 日

安徽理工大學課程設計(**)任務書

電腦科學與工程學院

2023年 06 月 18 日

安徽理工大學課程設計(**)成績評定表

目錄1 需求分析 1

2 總體設計 1

2.1 抽象資料型別定義 1

2.2 模組間呼叫關係 3

3 詳細設計 3

3.1 開發工具的選擇 3

3.2 主介面設計 3

3.3 演算法設計 4

3.3.1全域性變數定義 4

3.3.2最短路徑演算法 5

3.3.3景點座標初始化函式 8

3.4 訊息響應函式 9

3.4.1列表事件的處理 9

3.4.2 除錯分析 12

4 總結 13

參考文獻 14

設計安徽理工大學的校園導遊程式,為來訪的客人日供各種資訊查詢服務。

(1)設計學校的校園平面圖,所含景點不少於10個,以圖中頂點表示校內各景點,存放景點名稱、代號、簡介等資訊;以邊表示路徑,存放路徑長度等相關資訊。

(2)未來訪客人提供途中任意景點相關資訊的查詢。

(3)為來訪客人提供圖中任意景點的問路查詢,即查詢任意兩個景點之間的一條最短的簡單路徑。

(4)當程式給出想要查詢的景點之間的最短路線時,在地圖以亮線顯示其最短路徑。

(5)這個程式既提供各個景點的詳盡情況,還提供給人日期,給人帶來一種全新的感覺與清新,還提供到哪一目標的公里路與最短的路徑,提供一種全新的,舒適的,親切的服務

一般情況下,校園的道路是雙向通行的,可設校園平面圖是乙個五項網。頂點和邊均含有相關資訊。

adt graph{

資料物件v:v是具有相同特性的資料元素的集合,稱為頂點集。

資料關係r:

rvr基本操作:

creategraph(&g,v,vr)

初始操作:v是圖的頂點集,vr是圖中邊的集合。

操作結果:按v和vr的定義構造圖g。

destroygraph(&g)

初始條件:圖g已經存在。

操作結果:銷毀圖g。

locatevex(g,u)

初始條件:圖g存在,u和g中定點有相同特徵。

操作結果:若g存在頂點u,則返回該定點在圖中位置;否則返回其他資訊。

getvex(g,v)

初始條件:圖g已經存在,v是g中某個頂點。

操作結果:返回v的資訊。

insertvex(&g,v,w)

初始條件:圖g已經存在,v和w是g中兩個頂點。

操作結果:在圖中增添新頂點v。

deletetvex(&g,v)

初始條件:圖g已經存在,v是g中某個頂點。

操作結果:刪除g中頂點v及其相關的邊。

getshortestpath(g,st,nd,&path)

初始條件:圖g存在,st和nd是g中兩個頂點。

操作結果:若st和nd之間存在路徑,則以path返回兩點之間一條最短路徑,否則返回其他資訊。

} adt stack

模組間呼叫關係如圖1所示。

主程式模組

關於對話方塊模組帶權無向圖模組

圖1模組呼叫圖

由基本設計的要求可知該系統的功能較少,實現起來比較簡單,對於其開發工具的選用,有很多種選擇,主要分為兩類,一是dos環境下實現,對於該類,雖然開發起來比較容易實現,但是,作為乙個為來訪客人提供景點諮詢的工具,我們應將其做成介面友好的視窗形式的小型系統,並附加一些其他功能,例如日曆的查詢等等。

根據以上分析,我們決定應用microsoft visual c++6.0開發環境下的mfc作為我們該系統實現的工具。

應用mfc,我們首先進行主介面的開發,因為系統的功能要求相對較少,所以可以用乙個對話方塊視窗整合所有程式。

該程式主介面設計如下圖2所示。

圖2 介面

#define num 10

#define max 1000

typedef structgraph;//圖的儲存結構

typedef struct stristri,string1[num];//圖中各景點的座標儲存結構

int p[num][num]; //新增的全域性變數

本程式使用弗洛伊德演算法來求最短路徑,設定了乙個10*10的陣列a[n][n],其中除對角線的元素都等於0外,其它元素a[i][j]的值表示頂點i到頂點j的最短路徑長度。

運算步驟為:首先,以任意兩個頂點之間的有向邊的權值作為路徑長度,沒有有向邊時,路徑長度為∞,此時,

a [i][j]= g.arcs[i][j]

以後逐步嘗試在原路徑中加入其它頂點作為中間頂點,如果增加中間頂點後,得到的路徑比原來的路徑長度減少了,則以此新路徑代替原路徑,修改陣列元素。

void creat(graph &g),

,,,,,,,,};for(i=0;i<10;i++)

for(j=0;j<10;j++)

校園導遊諮詢

演算法與資料結構 課程設計報告 班級 專業級班 姓名學號 課程設計題目 校園導遊諮詢 所屬課程 演算法與資料結構 實驗室 中心 指導教師 完成時間 年月日 學院資訊科學與工程學院課程設計任務書 指導教師 資訊科學與工程學院課程設計成績單 課程名稱 演算法與資料結構 a課程設計 姓名性別男學號 班級綜...

校園導遊系統

include include include define max 40 define max vertex num 20 最多頂點個數 define maxdge 50 typedef struct ar odear ode,arclink typedef struct vertexnode 頂...

校園導遊系統實訓報告

導遊諮詢系統 1需求分析 編制乙個為來訪客人進行最短路徑導遊的程式 1 從學校的平面圖上選取n個有代表性的景點,根據使用者指定的起點和終點輸出相應路徑,或根據使用者指定的景點輸出景點的資訊。2 為來訪客人提供圖中任意景點相關資訊的查詢。3 為來訪客人提供圖中任意景點的問路查詢,即查詢任意兩個景點之間...