学校门口的树C语言算法,C语言校园导游程序设计汇报.doc
C語言校園導(dǎo)游程序設(shè)計匯報
《應(yīng)用程序設(shè)計
課程設(shè)計》報告
班級:
學(xué)號:
姓名:
指導(dǎo)教師:
成績評定:
目錄
題目:
設(shè)計一個校園導(dǎo)游程序,為來訪的客人提供各種信息查詢服務(wù)
一.需求分析:
此次課程設(shè)計的主要內(nèi)容是校園導(dǎo)航,為來訪的客人提供各種信息查詢服務(wù)
③學(xué)校主要景點的分布④查詢?nèi)我鈨蓚€景點之間的最短路徑。
⑴對于功能①的輸入形式是沒什么要求的,主要就是根據(jù)菜單的提示輸入相應(yīng)的數(shù)字選擇相應(yīng)的功能;對于功能②的輸入形式的要求也比較簡單,要查詢某一景點的簡介直接輸入其對應(yīng)的編號即可;對于功能③的輸入形式的要求同功能①;對于功能④只需要輸入起始景點和目的景點的編號即可。此程序在輸入形式上都沒什么特殊的要求只是一些簡單的數(shù)字就可以了。
⑵功能①③就是輸出由字符構(gòu)成的一幅簡易圖,形式比較單一;景點的簡介方面輸出景點的簡單信息就可以了;要查詢最短路徑的話輸出的是從起始景點到目的地的最短路徑中所途經(jīng)的各個景點及距離。
⑶本程序所能達(dá)到的功能就是前面所提到的①—④中的功能。
二.概要設(shè)計:
抽象數(shù)據(jù)類型的定義:
ADT Graph{
數(shù)據(jù)對象 V:具有相同特性的數(shù)組元素的集合,稱為頂點集。
數(shù)據(jù)關(guān)系 R:
R={VR}
VR={|v,w∈V且P(v,w), 表示從v到w的弧,謂詞P(v,w)定義了弧的意義或信息}
基本操作P:
CreateGraph(&G,V,VR);
初始條件:V是圖的頂點集,VR是圖中弧的集合。
操作結(jié)果:按V和VR的定義構(gòu)造圖G。
DistroyGraph(&G)
初始條件:圖G存在
操作結(jié)果:銷毀圖G
LocateVex(G,u);
初始條件:圖G存在,u和G中頂點有相同的特征。
操作結(jié)果:若存在頂點u,則返回該頂點在圖中的位置;否則返回其他信息。
GetVex(G,u);
初始條件:圖G存在,u是圖中的頂點。
操作結(jié)果:返回u的值。
InsertVex(&G,v);
初始條件 :圖G存在,v和圖中的頂點有相同的特性。
操作結(jié)果:在圖G中新增頂點v.
InsertArc(&G,v,w);
初始條件:圖G存在,v和w是圖中的頂點。
操作結(jié)果:在圖G中增添弧,若是無向圖,還增添弧。
}ADT Graph
主程序流程(各函數(shù)之間的調(diào)用關(guān)系):
Main();//主函數(shù)
Initview();//景點信息的初始化
InitLength();//各個景點之間距離的初始化
log();//登錄時的頭部
showmenu();//登錄后的菜單
browser();//全景平面圖的瀏覽
browse_view_info();//景點簡介的查詢
browse_view_distribute();//主要景點的分布
onetoone();//查詢?nèi)我鈨蓚€景點之間的最短路徑
調(diào)用關(guān)系如下:(函數(shù)內(nèi)部沒什么調(diào)用關(guān)系)
三.詳細(xì)設(shè)計:
⑴圖的結(jié)構(gòu):
typedef struct view//點的結(jié)構(gòu)
{
int no;//景點編號
char name[100];//景點名稱
char briefinfo[1000];//景點簡介
}view;
typedef struct edge//邊的結(jié)構(gòu)
{
int length;//兩個景點之間的距離
char direction[4];//方向
}edge;
⑵偽碼算法:
Main()
{path=(edge **)malloc(MAX*sizeof(edge));
for(v=0;v
path[v]=(edge *)malloc(1000*sizeof(edge));
TD=(view *)malloc(MAX*sizeof(view));
D=(DistancMatrix )malloc(MAX*sizeof(DistancMatrix));
P=(PathMatrix )malloc(MAX*sizeof(PathMatrix));
for(v=0;v
Initview(TD);InitLength(path);//初始化
system("mode con: cols=140 lines=130");
log();while(1){
showmenu();//菜單
printf("請選擇:\n");
scanf("%d",&k);
switch(k){
case 1: browser();system("cls");break;
case 2: browse_view_info(TD
總結(jié)
以上是生活随笔為你收集整理的学校门口的树C语言算法,C语言校园导游程序设计汇报.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作为神经网络的输入_MATLAB实战|基
- 下一篇: 世界手机号码格式_世界上手机号码最长的国