九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

大數據結構 公交路線管理系統(tǒng)模擬系統(tǒng)

  • 資源ID:83619691       資源大?。?span id="24d9guoke414" class="font-tahoma">467.50KB        全文頁數:28頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

大數據結構 公交路線管理系統(tǒng)模擬系統(tǒng)

word數 據 結 構課 程 設 計 報 告一、課程設計名稱公交線路管理模擬系統(tǒng)二、實用工具軟件三、課程設計容簡介1、 實踐目的 1、掌握圖的概念、圖的兩種存儲結構(鄰接矩陣和鄰接表)的存儲思想與其存儲實現;2、掌握上機實現圖的根本方法;3、掌握有關圖的操作并用高級語言編程實現;4、熟練掌握圖的深度、廣度優(yōu)先遍歷算法思想與其程序實現;5、掌握圖的常見應用算法的思想與其程序實現。2、 實踐要求1、掌握本章實踐的算法;2、上機運行本章的程序,保存和打印出程序的運行結果,并結合程序進展分析;3、按照你對圖的操作需要,重新改寫程序并運行,打印出文件清單和運行結果;4、注意理解各算法實現時所采用的存儲結構;5、注意正、逆鄰接表。3、 系統(tǒng)簡介與設計思路本項目是對公交車路線信息的簡單模擬,以完成建立公交路線信息、修改公交路線信息和刪除公交路線信息等功能。本項目的實質是完成對公交路線信息的建立、查找、插入、修改、刪除等功能,可以首先定義項目的數據結構,然后將每個功能寫成一個函數來完成對數據的操作,最后完成主函數以驗證各個函數功能并得出運行結果。公交站點之間的關系可以是任意的,任意兩個站點之間都可能相關。而在圖形結構中,結點之間的關系可以是任意的,圖中任意兩個數據之間都可能相關。所以可以用圖形結構來表示n個公交站點之間與站點之間可能設置的公交路線,其中網的頂點表示公交站點,邊表示兩個站點之間的路線,賦予邊的權值表示相應的距離。因為公交路線是有一定的連續(xù)關系的,如果想輸出從某一個起始點開始到某一終點完畢的公交路線,就需要找到從某一點開始的第一個鄰接點和下一個鄰接點。因為在鄰接表中容易找到任一頂點的第一個鄰接點和下一個鄰接點,所以本項目使用了圖的鄰接表存儲結構。4、 程序設計流程為了創(chuàng)建公交路線,首先建立結構體載入公交車的相關信息:名稱、司機、起始站、終點站、站數以與距離。利用鄰接表把站點與站點之間的信息儲存起來。用文件詳細記載了路線信息,便于管理者初始化公交路線信息。再構造子函數來創(chuàng)建、與時修改、插入、刪除公交信息、以與查詢公交路線是否出錯,各站點之間的距離。用主函數來調用子函數,進入導航系統(tǒng)而進展操作。主函數(main)流程導航查詢(initial)流程 汽車查詢(包含車號、站臺查詢)流程新建(newb)流程修改路線(Modifyr)流程修改汽車(modifyb)流程刪除汽車(delb)流程5、運行環(huán)境代碼用C語言完成,布置在具有集成開發(fā)環(huán)境,可提供編輯C語言,C+以與C+/CLI等編程語言。整合了便利的除錯工具,特別是整合了微軟視窗程式設計Windows API、三維動畫DirectX API,Microsoft .NET框架。輸入如下公交線路信息121141362734101716155891路 津A10001 司機1 6:00 1>2>3>4>52路 津A10002 司機2 6:15 6>7>4>8>17>123路 津A10003 司機3 6:00 9>7>3>10>124路 津A10004 司機4 6:30 6>13>1>12>14>175路 津A10005 司機5 7:00 15>5>8>16>10>2>13創(chuàng)建示意圖(1路)創(chuàng)建完畢選擇N回到主菜單,再選擇A(導航查詢)主菜單下選擇B(公汽查詢)就可以查詢已有的公交信息,查詢方式有公汽號查詢、站臺查詢兩種查詢方式我們以公汽號查詢(查詢 津A10001)為例:返回到主菜單,選擇D進入系統(tǒng)管理我們以修改路線為例(修改 津A10001)最后在主菜單下選擇E(清空數據)最后選擇F即可退出程序。四、 得意與不足之處:1、得意之處:1)、可以根據題目需要翻閱圖書館資料自學C+程序,完成代碼。2)、完成過程中思路清晰,可以根據實際進展分析設計、編程調試,能夠熟練應用軟件的分析方法和工程設計方法。3)、夠按要求編寫課程設計報告書,能正確闡述設計和實驗結果便于管理者自由創(chuàng)建公交車的相關信息2、 不足之處:1)、程序太過繁瑣,采用了一些不常用的語句2)、不能簡易地查詢任意兩站之間的距離3)、不能查詢任意的站點,只能查詢起點和終點4)、不能任意輸入兩個站點,給出最優(yōu)的乘車路線五、 自我感受:課程設計是把我們所學的理論知識進展系統(tǒng)的總結并應用于實踐的良好機會,有利于加強我們用知識理論來分析實際問題的能力,進而加強了我們對知識認識的實踐度,鞏固了我們的理論知識,深化了對知識的認識,并為走向社會打下一個良好的根底。在這次課程設計中我遇到許多問題和麻煩,得到了教師的幫助和指導,才能夠使得這次課程設計順利的進展下去,另外,在程序調試過程中,也得到很多同學的幫助,給我與時指出錯誤,提出許多寶貴意見。在此對教師和同學們表示感!八、參考文獻:數據結構實踐訓練教程 光然 主編 南開大學數據結構 嚴蔚敏 主編 清華大學C語言程序設計 譚浩強 主編 清華大學附錄:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>struct bus char num30;/車號char driver50;/司機char stime30;/發(fā)車時間char start30;/起始站char end30;/終點站int z;/站數char *pr;/指向路線的首指針 struct bus *next;/下一輛車的結構體;struct bus *bhead=NULL;/放公汽信息的頭指針struct bus *bi=NULL;/放公汽信息的最后的指針void initial() FILE *fp; fp=fopen("bus.txt","r"); if(fp=NULL)printf("nn無公汽信息文件!");return; fseek(fp,0,SEEK_END); int i,n; n=ftell(fp)/sizeof(struct bus); /printf("nnnn一共有%d輛公汽!",n); rewind(fp); struct bus *p;/for for(i=0;i<n;i+) p=(struct bus *)malloc(sizeof(struct bus ); fseek(fp,i*sizeof(struct bus),0); fread(p,sizeof(struct bus),1,fp);/寫入信息,其中地址是無用的信息 p->next=NULL;/初始化時下一個指向空,都是一個個單獨的 p->pr=NULL;/讓路線為空/路線信息存放在文件名為 車號 “的文件中;車號是唯一的 FILE *fp1; fp1=fopen(p->num,"r"); if(!fp1) printf("n%s號車無初始路線!",p->num); else char * p1; p1=(char *)malloc(p->z*40*sizeof(char) ); fread(p1,p->z*50*sizeof(char),1,fp1);/將路線寫入存 p->pr=p1; fclose(fp1); / printf("nnnn初始化%s號車路線成功!",p->num); /路線信息 if(bhead=NULL) bhead=bi=p; else bi->next=p; bi=p; /for結尾/printf("nnnn初始化%d輛車成功!",n);fclose(fp);void newb()loop1: printf("nnnn創(chuàng)建新公汽nn"); struct bus *p; p=(struct bus *)malloc(sizeof(struct bus ); p->next=NULL; p->pr=NULL;loop2: printf("n請輸入新公汽號:nn"); scanf("%s",p->num); struct bus *pj=bhead; while(pj) if(strcmp(pj->num,p->num)=0)printf("nn錯誤,該公汽號已經存在!nn"); goto loop2; pj=pj->next; printf("n請輸入新公汽司機:n"); scanf("%s",p->driver); printf("n請輸入新路線發(fā)車時間nn"); scanf("%s",p->stime); loop3: printf("nnn請輸入新路線總站臺數(>=2)nn"); scanf("%d",&p->z); if(p->z>=2) p->pr=(char *)malloc( p->z*50*sizeof(char) ); p->pr0='0' int i;char cc40; for(i=1;i<=p->z;i+) printf("n請輸入公汽第%d站臺名稱:",i); scanf("%s",cc); if(i=1)strcat(p->pr,cc);strcpy(p->start,cc); elsestrcat(p->pr,"->");strcat(p->pr,cc); strcpy(p->end,cc); printf("nn自動生成公汽路線%s",p->pr); else printf("nn錯誤,該公汽站臺數小于2,請重新輸入!nn"); goto loop3;if(bhead=NULL)bi=bhead=p;elsebi->next=p;bi=p; printf("nn%s號公汽創(chuàng)建成功!",p->num); printf("nnn您想 繼續(xù)新建(A) 退出創(chuàng)建(N)-請選擇 A 或 N nn "); char c;c=getch(); if(c='a'|c='A') goto loop1; else return;void modifyr() char c,b20; printf("nnnn 修改路線nn"); loop: printf("n請輸入要修改路線的公汽號:nn"); scanf("%s",b); struct bus *p=bhead; int n=1; while(p) if(strcmp(p->num,b)=0)printf("nn司機: %s",p->driver);n=0;break; p=p->next; if(n) printf("nn錯誤,公汽號不存在!nn重新修改(A) 退出修改(N)-請選擇 A 或 N nn "); char c; c=getch(); if(c='a'|c='A') goto loop; else return; loop1: printf("nnn請修改路線總站臺數(>=2)nn"); int nn; scanf("%d",&nn); if(nn>=2) p->pr=(char *)malloc( p->z*50*sizeof(char) ); p->pr0='0' p->z=nn; int i;char cc40; for(i=1;i<=p->z;i+) printf("n請輸入公汽第%d站臺名稱:",i); scanf("%s",cc); if(i=1)strcat(p->pr,cc);strcpy(p->start,cc); elsestrcat(p->pr,"->");strcat(p->pr,cc); strcpy(p->end,cc); printf("nn自動生成修改后的路線%s",p->pr); else printf("nn錯誤,該公汽站臺數小于2,請重新輸入!nn"); goto loop1; printf("nnn%s號公汽修改成功!",p->num);printf("nnn您想 繼續(xù)修改(A) 退出修改(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; FILE *fp; fp=fopen(p->num,"w"); fwrite(p,nn*50*sizeof(char),1,fp); fclose(fp); /保存線路信息 void modifyb() char c,b20; printf("nnnn 修改公汽nn"); loop:printf("n請輸入要修改路線的公汽號:nn"); scanf("%s",b); struct bus *p=bhead; int n=1; while(p) if(strcmp(p->num,b)=0)printf("nn司機: %s 發(fā)車時間: %s AM",p->driver,p->stime );n=0;break; p=p->next; if(n) printf("nn錯誤,公汽號不存在!nn重新修改(A) 退出修改(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; else return; printf("n請輸入要修改%s公汽的新司機:nn",p->num); scanf("%s",p->driver); printf("n請輸入要修改%s公汽的發(fā)車時間:nn",p->num); scanf("%s",p->stime); printf("nnn%s號公汽修改成功!",p->num);printf("nnn您想 繼續(xù)修改(A) 退出修改(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop;void showb()struct bus *p=bhead;if(!p)printf("nn公汽線路信息數據庫為空!"); return; elseprintf("nnn 公汽信息數據庫 ");printf("n|-|"); int n=1;while(p)printf("n| 公汽號:%s 站數:%d 發(fā)車時間:%s AM 司機:%s ",p->num, p->z, p->stime,p->driver);printf("n| 路線: %s",p->pr);printf("n|-|"); n=0;p=p->next;if(n)printf("nn公汽線路信息數據庫為空!"); void lookb() char c,b20; /printf("nnnn 查詢路線nn"); loop: printf("n請輸入要查詢的公汽號:nn"); scanf("%s",b); struct bus *p=bhead; int n=1; while(p) if(strcmp(p->num,b)=0)n=0;break; p=p->next; if(n) printf("nn錯誤,公汽號不存在!nn重新輸入(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; else return;printf("n|-|"); printf("n| 公汽號:%s 站數:%d 發(fā)車時間:%s AM 司機:%s ",p->num, p->z, p->stime,p->driver);printf("n| 路線: %s",p->pr);printf("n|-|"); printf("nnn%s號公汽查詢成功!",p->num);printf("nnn您想 繼續(xù)查詢(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop;void lookr()/ printf("nnnn 查詢公汽nn"); char c,b40;loop:/printf("n 查詢公汽菜單");/printf("n|-|"); printf("n n n n 請選擇查詢方式: "); printf("n|-|"); printf("n| A 起始站查詢 |"); printf("n|-|"); printf("n| B 終點站查詢 |"); printf("n|-|"); printf("n| C 退出 |"); printf("n|-|"); c=getch();if(c='B'|c='b')printf("n請輸入要查詢的終點站:nn"); scanf("%s",b); struct bus *p=bhead; int n=1; printf("n 您可以乘坐以下公汽到達%s",p->end); printf("n|-|"); while(p) if(strcmp(p->end,b)=0) n=0; printf("n|公汽號:%s 路線: %s" ,p->num,p->pr); printf("n|-|"); p=p->next; if(n) printf("nn錯誤,終點站不存在!nn重新輸入(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; printf("nn您想 繼續(xù)查詢(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop;if(c='A'|c='a') printf("n請輸入要查詢的起始站:nn"); scanf("%s",b); struct bus *p=bhead; int n=1; printf("n 您可以乘坐以下公汽起始站為%s",p->start); printf("n|-|"); while(p) if(strcmp(p->start,b)=0) n=0; printf("n|公汽號:%s 路線: %s" ,p->num,p->pr); printf("n|-|"); p=p->next; if(n) printf("nn錯誤,起始站不存在!nn重新輸入(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; printf("nn您想 繼續(xù)查詢(A) 退出查詢(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop;void delb() char b20; printf("nnnn 刪除公汽nn"); loop:printf("n請輸入要刪除路線的公汽號:nn"); scanf("%s",b); struct bus *p=bhead; struct bus *p1=bhead; int n=1,y=0; while(p) if(strcmp(p->num,b)=0)n=0;break; y+; if(y>1) p1=p1->next; p=p->next; char c; if(n) printf("nn錯誤,公汽號不存在!nn重新輸入(A) 退出刪除(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop; else return; if(p=bhead)bhead=bhead->next; else p1->next=p->next; printf("n刪除路線的公汽成功!nn"); printf("nn您是 繼續(xù)刪除(A) 退出刪除(N)-請選擇 A 或 N nn "); c=getch(); if(c='a'|c='A') goto loop;void save() FILE *fp; fp=fopen("bus.txt","w"); struct bus *p; p=bhead; int n=0; while(p) /第一個while fseek(fp,n*sizeof(struct bus),0); fwrite(p,sizeof(struct bus ),1,fp); n+; FILE *fp1; fp1=fopen(p->num,"w"); fwrite(p->pr,p->z*50*sizeof(char),1,fp1); fclose(fp1); p=p->next; fclose(fp); /printf("nnnn保存%d輛車成功!",n);void release()bhead=bi=NULL;printf("nnn數據清空成功!");void show1() printf("nnnnn |-|");printf("n | 主 菜 單 |"); printf("n |-|");printf("n | A 導 航 查 詢 |"); printf("n |-|"); printf("n | B 公 汽 查 詢 |"); printf("n |-|"); printf("n | C 新 建 公 汽 |"); printf("n |-|"); printf("n | D 系 統(tǒng) 管 理 |"); printf("n |-|"); printf("n | E 清 空 數 據 |");printf("n |-|");printf("n | F 退 出 程 序 |"); printf("n |-|");printf("n | 請您選擇一個任務 |"); printf("n |-|nnn");void show2()printf("n |-|");printf("n | 管 理 菜 單 |"); printf("n |-|");printf("n | A 修 改 路 線 |"); printf("n |-|"); printf("n | B 修 改 公 汽 |"); printf("n |-|"); printf("n | C 刪 除 公 汽 |"); printf("n |-|"); printf("n | D 退 出 程 序 |"); printf("n |-|"); printf("n | 請您選擇一個任務 |"); printf("n |-|nnn");void show3()printf("nn 查 詢 菜 單");printf("n|-|"); printf("n| 請選擇查詢方式: |"); printf("n|-|"); printf("n| A 公汽號 查詢 |"); printf("n|-|"); printf("n| B 站 臺 查 詢 |"); printf("n|-|"); printf("n| C 退 出 |"); printf("n|-|"); void main()printf("nn 歡迎使用公汽查詢系統(tǒng)!");initial();char c1;do show1();c1=getch();switch ( c1 )case 'a':case 'A':showb();break;case 'b':case 'B': char c3; do show3(); c3=getch();switch ( c3) case 'a':case 'A':lookb();break;case 'b':case 'B':lookr();break;case 'c':case 'C':break; while(c3!='c'&&c3!='C'); break;case 'c':case 'C':newb();break;case 'd':case 'D': char c2; do show2(); c2=getch();switch ( c2) case 'a':case 'A':modifyr();break;case 'b':case 'B':modifyb();break;case 'c':case 'C':delb();break; while(c2!='d'&&c2!='D'); break;case 'E':case 'e':release(); save(); break;while(c1!='f'&&c1!='F');save();printf("nn 您的使用!");28 / 28

注意事項

本文(大數據結構 公交路線管理系統(tǒng)模擬系統(tǒng))為本站會員(無***)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!