日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

公交线路查询

發(fā)布時(shí)間:2024/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 公交线路查询 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

公交線路查詢

      • 1. 設(shè)計(jì)內(nèi)容與要求
      • 2. 實(shí)驗(yàn)環(huán)境
      • 3. 系統(tǒng)分析與設(shè)計(jì)
      • 4. 運(yùn)行結(jié)果
      • 5.課程設(shè)計(jì)支撐的畢業(yè)要求指標(biāo)點(diǎn)
      • 6. 心得

源碼地址:https://gitee.com/starking614/bus-system

1. 設(shè)計(jì)內(nèi)容與要求

  • 公交新線路的創(chuàng)建(站點(diǎn)的錄入)、刪除、修改、查詢(顯示該線路的全部站點(diǎn));

  • 公交站點(diǎn)的添加、刪除、修改、查詢(顯示該站點(diǎn)的全部線路);

  • 兩個(gè)公交站點(diǎn)之間線路查詢(顯示經(jīng)過的全部站點(diǎn),包含轉(zhuǎn)車站點(diǎn)的提示)。

  • 以上功能中應(yīng)該包含一個(gè)線路雙向線路站點(diǎn)不同或僅單向運(yùn)行的的情況。

  • 以西安市公交為例,公交線路參照微信公眾號(hào):西安交通大發(fā)布,至少錄入10條以上的線路并涵蓋03、04的情況。

  • 2. 實(shí)驗(yàn)環(huán)境

  • 硬件環(huán)境:Window10系統(tǒng)
  • 軟件環(huán)境:VC++6.0
  • 3. 系統(tǒng)分析與設(shè)計(jì)

    ? 該系統(tǒng)主要涉及到公交線路的操作,通過以下分析采用線性表的數(shù)據(jù)結(jié)構(gòu),對線性表進(jìn)行增刪查改,圍繞線性表擴(kuò)展其它功能。一條鏈存儲(chǔ)一條線路,線路號(hào)存入鏈表所對應(yīng)的線路號(hào)數(shù)組。事先將公交線路數(shù)據(jù)存入文件,鏈表更改后保存進(jìn)文件。

  • 文件錄入數(shù)據(jù):
  • ? 在文件中每一條公交線路最后添加此條公交線路停止讀取標(biāo)志"停",在文件最后添加停止讀取文件信息"結(jié)束",每申請一個(gè)鏈表新結(jié)點(diǎn),就從文件中讀取一個(gè)站點(diǎn)名字,將值賦予此鏈表結(jié)點(diǎn)的數(shù)據(jù)域,遇到"停"標(biāo)志則進(jìn)行下一條公交線路的讀取,直到碰到"結(jié)束"標(biāo)志,停止讀取文件。

  • 數(shù)據(jù)存儲(chǔ)進(jìn)文件:
  • ? 查詢每一條鏈表,若該鏈表頭結(jié)點(diǎn)的指針域不為空,則該鏈表有信息,需要將其輸入文件,將鏈表結(jié)點(diǎn)指針域值轉(zhuǎn)換成中文輸出到文件中,直到鏈表最后再輸出一個(gè)結(jié)束標(biāo)志"停",所有鏈表信息輸入完成后,在文件后面添加一個(gè)"結(jié)束"標(biāo)志,方便文件下一次的讀取。

  • 模糊查詢:
  • ? 根據(jù)string函數(shù)庫內(nèi)容,編寫字符串包含函數(shù)。然后應(yīng)用該函數(shù)得到相關(guān)數(shù)組,最后對相關(guān)數(shù)組進(jìn)行操作。

  • 菜單設(shè)計(jì)
  • ? 作為交通系統(tǒng),首先應(yīng)當(dāng)讓用戶使用查詢功能,但不可對線路和站點(diǎn)進(jìn)行修改等操作,因此需要設(shè)置管理員系統(tǒng),只有相關(guān)人員才可對公交系統(tǒng)進(jìn)行操作。因此,建立管理員系統(tǒng),并設(shè)置密碼,若輸入三次以上,則不可進(jìn)入管理員系統(tǒng)。

    ? 設(shè)置好初始密碼,利用邏輯關(guān)系,及循環(huán)語句建立主菜單。

  • 公交線路的查詢
  • ? 查詢線路時(shí)并不一定會(huì)輸入完整數(shù)據(jù),所以應(yīng)該支持模糊查找。查詢某條線路,得到結(jié)果應(yīng)為該條線路所有站點(diǎn)的有序序列。通過模糊查找得到線路名,然后遍歷所有線路鏈表得到被查找鏈打印屏幕。

  • 公交站點(diǎn)的查詢

    ? 同線路查詢支持模糊搜索,通過輸入站點(diǎn)能得到所有通過該站點(diǎn)的線路。遍歷所有線路鏈表,遇到被查詢站點(diǎn),屏幕輸出該條鏈即可。

  • 站點(diǎn)的增加刪除修改

  • ? 站點(diǎn)的增加刪除修改,對象是已經(jīng)存在的線路。采用鏈表可以更方便的進(jìn)行站點(diǎn)的增加刪除修改,對應(yīng)鏈表增刪改。理論上如果硬件允許一條線路可以一直增加站點(diǎn)。修改時(shí)直接替換鏈表中某一結(jié)點(diǎn)數(shù)據(jù)即可。

  • 線路的增加刪除和修改
  • ? 線路的增加,由于程序采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),故增加線路時(shí)只需要new一條新鏈表,然后依次向鏈表中輸入站點(diǎn)信息即可完成線路的添加。刪除線路時(shí)只需要?jiǎng)h除改線路所在的鏈表即可完成對線路的刪除操作。如需修改線路名稱,只需修改對應(yīng)的線路數(shù)組的數(shù)據(jù)即可。

  • 零次換乘
  • ? 零次換乘即不換乘。即一條線路中搜索起點(diǎn)與終點(diǎn)給出中間所經(jīng)過的站點(diǎn)。在所有鏈表中找到同時(shí)存有被查詢的起點(diǎn)與終點(diǎn)的線路,然后將其打印屏幕即可。

  • 換乘設(shè)計(jì)
  • ? 理念:一次換乘調(diào)用直達(dá)函數(shù),多次換乘調(diào)用一次換乘,形成遞歸(暫未實(shí)現(xiàn))。

    ? A. 一次換乘操作:尋找含有起始站點(diǎn)的所有線路-----線路1,尋找含有結(jié)束站點(diǎn)的所有線路----線路2。最后找到可以連通線路1和線路2上的站點(diǎn)的新線路,實(shí)現(xiàn)起始站點(diǎn)和終止站點(diǎn)的連通,以實(shí)現(xiàn)一次換乘。

    ? B. 流程圖

    4. 運(yùn)行結(jié)果

    ? [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-H4ABD4Mh-1616241152784)(C:\Users\Star_King\AppData\Roaming\Typora\typora-user-images\image-20210313125736235.png)]

    5.課程設(shè)計(jì)支撐的畢業(yè)要求指標(biāo)點(diǎn)

    ? 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)支撐以下四項(xiàng)畢業(yè)要求指標(biāo)點(diǎn):

    ? 指標(biāo)點(diǎn)2-4:能夠從工程科學(xué)的角度,結(jié)合文獻(xiàn)查閱及研究,對計(jì)算機(jī)領(lǐng)域復(fù)雜工程問題進(jìn)行系統(tǒng)分析,并獲得有效結(jié)論。

    ? 指標(biāo)點(diǎn)7-1:知曉和理解環(huán)境保護(hù)和可持續(xù)發(fā)展的理念和內(nèi)涵,正確認(rèn)識(shí)計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展與環(huán)境和可持續(xù)發(fā)展的關(guān)系。

    ? 指標(biāo)點(diǎn)9-3:能夠理解個(gè)人在團(tuán)隊(duì)中的角色劃分,且勝任相應(yīng)的角色職責(zé)。

    ? 指標(biāo)點(diǎn)12-1:能在社會(huì)發(fā)展的大背景下,理解終身學(xué)習(xí)的必要性,具有自主學(xué)習(xí)和終身學(xué)習(xí)的意識(shí)。

    6. 心得

    ? 2-4 設(shè)計(jì)公交線路系統(tǒng)參考了百度地圖等相關(guān)地圖的線路查詢功能,其換乘算法的實(shí)現(xiàn)。了解到自己實(shí)力遠(yuǎn)遠(yuǎn)不及這些大公司,結(jié)合學(xué)習(xí)科目數(shù)據(jù)結(jié)構(gòu),進(jìn)行了符合自己能力的功能設(shè)計(jì)。

    ? 7-1 本設(shè)計(jì)中采取鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)相對于順序存儲(chǔ)更加節(jié)省內(nèi)存空間。在數(shù)據(jù)的錄入上,是一些單調(diào)的重復(fù)輸入,通過程序?qū)崿F(xiàn)節(jié)省了人力,若以后出現(xiàn)線路更改仍可寫入文件持續(xù)使用。在公交換乘上,不需要自己去算,程序自動(dòng)規(guī)劃簡化了出行的流程。

    ? 9-3 團(tuán)隊(duì)找到了一些各有所長的人,大家互相幫助。在任務(wù)的分配上,先一起分析了功能,然后將程序模塊化,分配任務(wù),互相協(xié)作完成程序。個(gè)人需要聽從于團(tuán)隊(duì)的指揮而又不能盲目的跟從團(tuán)隊(duì),遇到問題應(yīng)多思考,討論并提出更好的設(shè)計(jì)模式。

    ? 12-1設(shè)計(jì)中的換乘問題并不直接能從教材中得來,人不可能什么都會(huì),通過搜索資料,認(rèn)真理解才得到了算法的主要思想。并且遇到不會(huì)內(nèi)容應(yīng)主動(dòng)查找相關(guān)內(nèi)容,與他人交流也是較為不錯(cuò)的自學(xué)方式。

    總結(jié)

    以上是生活随笔為你收集整理的公交线路查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。