版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科生畢業(yè)論文(設(shè)計(jì))題目 基于VC+的公交查詢(xún)系統(tǒng) 姓名 XX 學(xué)號(hào) 院系 電氣信息及自動(dòng)化學(xué)院 專(zhuān)業(yè) 電氣工程及其自動(dòng)化 指導(dǎo)教師 陳梅 職稱(chēng) 講師 2012 年 5 月 日曲阜師范大學(xué)教務(wù)處制目 錄摘要1關(guān)鍵詞1Abstract1Key words11 緒論21.1 課題編寫(xiě)背景21.2 國(guó)內(nèi)外研究狀況21.3研究意義22 系統(tǒng)開(kāi)發(fā)技術(shù)22.1 系統(tǒng)開(kāi)發(fā)技術(shù)簡(jiǎn)介22.2 數(shù)據(jù)庫(kù)技術(shù)32.3 系統(tǒng)運(yùn)行環(huán)境43 需求分析 43.1 功能需求分析 43.2 性能需求43.3 數(shù)據(jù)需求43.4軟件結(jié)構(gòu)53.5功能流程54 系統(tǒng)設(shè)計(jì)64.1系統(tǒng)功能模塊設(shè)計(jì)64.2數(shù)據(jù)交換的實(shí)現(xiàn)64.3 模塊流程圖
2、75系統(tǒng)實(shí)現(xiàn)85.1 模塊界面85.2 數(shù)據(jù)表95.3車(chē)次查詢(xún)實(shí)現(xiàn)代碼及運(yùn)行結(jié)果105.4站點(diǎn)查詢(xún)實(shí)現(xiàn)代碼及運(yùn)行結(jié)果 126 結(jié)論136.1系統(tǒng)需要改進(jìn)的地方136.2設(shè)計(jì)感想13致謝14參考文獻(xiàn)15基于VC+的公交查詢(xún)系統(tǒng)電氣工程及其自動(dòng)化專(zhuān)業(yè)學(xué)生XX指導(dǎo)教師陳梅摘要:我國(guó)城市公交線路查詢(xún)系統(tǒng)的發(fā)展落后于現(xiàn)在國(guó)家的經(jīng)濟(jì)發(fā)展。廣大乘客可以獲得的信息的方式較少,給出行帶來(lái)了不便。為了解決這個(gè)問(wèn)題,本人設(shè)計(jì)了這個(gè)城市公交查詢(xún)系統(tǒng)??紤]了公交運(yùn)行的實(shí)際情況和不同公交乘客的實(shí)際要求,分析了此系統(tǒng)應(yīng)該具有的功能;又對(duì)系統(tǒng)的主要功能進(jìn)行了詳細(xì)的描述,這其中主要包括兩大模塊:站點(diǎn)查詢(xún)模塊和車(chē)次查詢(xún)模塊。最后
3、結(jié)合系統(tǒng)開(kāi)發(fā)階段和調(diào)試階段發(fā)現(xiàn)的問(wèn)題提出了需要完善的地方。關(guān)鍵詞:查詢(xún) 車(chē)次 站點(diǎn)Based on the VC+ Public traffic Query System Student majoring in Electrical engineering and automationXXTutor ChenmeiAbstract: The development of the bus transportation enquiry system fall behind the growth of our countries econo
4、my. The large part of passengers can acquire few ways of information .So its necessary to us to develop a kind of citys system of bus road to resolve this problem. For this purpose, I design this application system. From this design, I analyzed the present condition of the bus passenger information
5、and different peoples needs, in order to knower what functions this equipment should contain. And then I describe the systems main function modules in detail, these functions can be divided into two modules, station enquiry , number of bus enquiry. At last, according to the problems that happened in
6、 the period of using, I summed up some ways to improve the system .Key words: enquiry; number of bus; station引言 現(xiàn)階段社會(huì)發(fā)展很迅速,城市道路很多,很多時(shí)候會(huì)有道路擁堵和該道路的問(wèn)題。因此,最大限度的提高道路使用效率就顯得尤為重要,這對(duì)廣大乘客來(lái)說(shuō)不僅可以提高出行的效率還可以節(jié)省很多時(shí)間?,F(xiàn)階段在我國(guó)乘客主要的交通方式還是以公交車(chē)為主,所以每個(gè)城市的公交系統(tǒng)都很龐大。公交查詢(xún)系統(tǒng)是這幾年出現(xiàn)的一種新事物,因每個(gè)城市的發(fā)展水平不一樣。獲得,所以乘客獲得信息的方式也不同。而國(guó)內(nèi)現(xiàn)在比較缺
7、乏專(zhuān)門(mén)的交通信息發(fā)布的管理機(jī)構(gòu),無(wú)法保證信息的可靠性。隨著交通需求的增長(zhǎng),從事交通服務(wù)信息的公司越來(lái)越多,借助現(xiàn)代的信息技術(shù)和管理方法,建立公交查詢(xún)系統(tǒng)是社會(huì)發(fā)展的趨勢(shì)?,F(xiàn)在比較成熟的公交查詢(xún)系統(tǒng)一般具備的功能是:采用車(chē)站站點(diǎn)查詢(xún)車(chē)次查詢(xún)、站至站查詢(xún)等,不僅能夠查詢(xún)到各公交線路的起停站點(diǎn),還可以給出相關(guān)的路線??v觀現(xiàn)在的形式,公交查詢(xún)系統(tǒng)有著良好的發(fā)展前景,未來(lái)的公交查詢(xún)呢系統(tǒng)將是基于B/S架構(gòu),通過(guò)瀏覽器查詢(xún),通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)全面聯(lián)網(wǎng),實(shí)現(xiàn)中心控制、自動(dòng)更新、更多的查詢(xún)方式和GIS系統(tǒng)的互聯(lián)互通等等更多更強(qiáng)大的功能。1 緒論1.1課題編寫(xiě)背景在中國(guó),隨著經(jīng)濟(jì)的快速發(fā)展,城市交通擁堵,交通事故頻
8、繁和環(huán)境污染的現(xiàn)象 日益嚴(yán)重,阻礙了城市居民生活水平的提高和經(jīng)濟(jì)的可持續(xù)發(fā)展。根據(jù)國(guó)內(nèi)外城市交 通發(fā)展的經(jīng)驗(yàn)教訓(xùn),交通界專(zhuān)家學(xué)者達(dá)成共識(shí)優(yōu)先發(fā)展公共交通是解決城市交通 擁堵的根本途徑之一。城市公共交通運(yùn)輸以其覆蓋面廣、經(jīng)濟(jì)、快捷的特點(diǎn),目前仍然是絕大多數(shù)出行者的首選方式,也是各地城市政府大力發(fā)展的一種交通方式。正因?yàn)槠涓采w面廣、經(jīng)濟(jì)、快捷的特點(diǎn),城市公交線路、站點(diǎn)變動(dòng)的靈活性就很大。下水道的堵塞,路面的修補(bǔ),道路高峰期的擁堵,等等,這些都直接或間接地影響著公交車(chē)的行車(chē)路線,這不僅給本市市民帶來(lái)了不便,也為外來(lái)旅游、工作的人帶來(lái)極 大的不便。1.2國(guó)內(nèi)外研究狀況現(xiàn)階段在國(guó)內(nèi),乘客可以獲得的信息較
9、少,基本上沒(méi)有可靠地即時(shí)信息,如果能夠提供一種服務(wù),為市民特別是外來(lái)旅游、出差、就醫(yī)等急需了解 本地道路情況的人提供方便、快捷、經(jīng)濟(jì)、高效地利用公交線路的方案,將方便他們的出行和生活,同時(shí)減少不必要的交通流量,提高交通運(yùn)輸?shù)男屎统鞘械牡匚?。目前在中?guó)這已是一個(gè)越來(lái)越迫切的現(xiàn)實(shí)問(wèn)題。為了解決這一系列的問(wèn)題,國(guó)外在城市 公交網(wǎng)絡(luò)系統(tǒng)上投人了極大的財(cái)力 構(gòu)建了利用計(jì)算機(jī)網(wǎng)絡(luò)和先進(jìn)的通信系統(tǒng)的智能 運(yùn)輸系統(tǒng)ITS(Intelligence Transport System)。從而實(shí)現(xiàn)了大范圍內(nèi)全方位發(fā)揮的 實(shí)時(shí)、準(zhǔn)確、高效的運(yùn)輸綜合管理,使人、車(chē)、路密切配合,和諧統(tǒng)一,大大改善了 交通環(huán)境等。國(guó)內(nèi)在
10、這方面的起步較晚,但是各地政府都給予了極大的重視。相繼建 立了網(wǎng)上公交查詢(xún)系統(tǒng),但是效果不甚理想。因此對(duì)公交系統(tǒng)查詢(xún)研究已是一個(gè)非常重要的問(wèn)題?;谝陨蠋c(diǎn),本文從本市用戶實(shí)際需求出發(fā),研究了本市公交系統(tǒng)的設(shè)計(jì)問(wèn)題。我首先登陸了網(wǎng)絡(luò)上的日照市公交查詢(xún)系統(tǒng)。 在該網(wǎng)站上,詳細(xì)查看了日照市的公交車(chē)輛信息,因日照市還是一個(gè)新生的海邊城市人口不是特別多,道路不是特別擁擠,所以人們出行大多選擇私家車(chē)輛。因此將來(lái)私家車(chē)會(huì)越來(lái)越多,最終將導(dǎo)致日照市和其他城市一樣變得很擁擠,到時(shí)候城市公共交通仍是絕大多數(shù)出行者的首選方式,也是城市政府大力發(fā)展的一種交通方式。 1.3 研究意義 我國(guó)私人汽車(chē)的迅速發(fā)展給城市的交
11、通系統(tǒng)帶來(lái)嚴(yán)重的影響,如何考慮私家車(chē)和公共汽車(chē)的競(jìng)爭(zhēng)關(guān)系并建立一個(gè)有競(jìng)爭(zhēng)力的,優(yōu)化了的公交系統(tǒng)是具有戰(zhàn)略意義的。我國(guó)實(shí)行了可持續(xù)發(fā)展戰(zhàn)略,當(dāng)然也包括交通的可持續(xù)發(fā)展。所以致力于優(yōu)化交通系統(tǒng)結(jié)構(gòu)和發(fā)展公共交通信息化體系是當(dāng)務(wù)之急。2 系統(tǒng)開(kāi)發(fā)技術(shù)2.1 系統(tǒng)開(kāi)發(fā)技術(shù)簡(jiǎn)介2.1.1 VisualC+簡(jiǎn)介VisualC+是微軟開(kāi)發(fā)的一個(gè)集成環(huán)境,是使用C+的一個(gè)平臺(tái)。它是一個(gè)功能強(qiáng)大的可視化軟件開(kāi)發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問(wèn)世,Visual C+已成為專(zhuān)業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。Visual C+6.0不僅是一個(gè)C+編譯器,而且
12、是一個(gè)基于Windows操作系統(tǒng)的可視化集成開(kāi)發(fā)環(huán)境(Integrated Development Environment,IDE)。Visual C+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類(lèi)向?qū)lass Wizard等開(kāi)發(fā)工具。 這些組件通過(guò)一個(gè)名為Developer Studio的組件集成為和諧的開(kāi)發(fā)環(huán)境。2.1.2 MFC基礎(chǔ)類(lèi)類(lèi) MFC,微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),同VCL類(lèi)似,是一種Application Framework,隨微軟Visual C+ 開(kāi)發(fā)工具發(fā)布。該類(lèi)庫(kù)提供一組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人
13、員使用。大部分類(lèi)均從CObject 直接或間接派生,只有少部分類(lèi)例外。MFC 應(yīng)用程序的總體結(jié)構(gòu)通常由 由開(kāi)發(fā)人員從MFC類(lèi)派生的幾個(gè)類(lèi)和一個(gè)CWinApp類(lèi)對(duì)象(應(yīng)用程序?qū)ο螅┙M成。MFC 提供了MFC AppWizard 自動(dòng)生成框架。 Windows 應(yīng)用程序中,MFC 的主包含文件為"Afxwin.h"。MFC,微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),實(shí)際上是微軟提供的,用于在C+環(huán)境下編寫(xiě)應(yīng)用程序的一個(gè)框架和引擎,VC+是WinDOS下開(kāi)發(fā)人員使用的專(zhuān)業(yè)C+ SDK(SDK,Standard SoftWare Develop Kit
14、,專(zhuān)業(yè)軟件開(kāi)發(fā)平臺(tái)),MFC就是掛在它之上的一個(gè)輔助軟件開(kāi)發(fā)包,是對(duì)WindowsAPI的封裝,大約有100多個(gè)類(lèi),但常用的有二三十種?,F(xiàn)在介紹一下MFC中比較重要也較常用的類(lèi)。CWnd:窗口類(lèi),它是大多數(shù)“看得見(jiàn)的東西”的父類(lèi),比如視圖CView、框架窗口CFrameWnd、工具條CToolBar、對(duì)話框CDialog、按鈕CButton等。 CDocument文檔,負(fù)責(zé)內(nèi)存數(shù)據(jù)與磁盤(pán)的交互。最重要的是OnOpenDocument(讀入),OnSaveDocument(寫(xiě)盤(pán)),Serialize(讀寫(xiě)) Cview:視圖類(lèi),負(fù)責(zé)內(nèi)存數(shù)據(jù)與用戶的交互。包括數(shù)據(jù)的顯示、用戶操作的響應(yīng)(如菜單的選
15、取、鼠標(biāo)的響應(yīng))。最重要的是OnDraw(重畫(huà)窗口),通常用CWnd:Invalidate()來(lái)啟動(dòng)它。另外,它通過(guò)消息映射表處理菜單、工具條、快捷鍵和其他用戶消息。 CDC:設(shè)備文本類(lèi)。無(wú)論是顯示器還是打印機(jī),都是畫(huà)圖給用戶看。這圖就抽象為CDC類(lèi)來(lái)完成。 Cdialog:對(duì)話框類(lèi)。它是所有對(duì)話框的類(lèi)。CwinApp:應(yīng)用程序類(lèi)。似于C中的main函數(shù),是程序執(zhí)行的入口和管理者,負(fù)責(zé)程序建立、消滅,主窗口和文檔模板的建立。CGdiObject及子類(lèi),用于向設(shè)備文本畫(huà)圖。它們都需要在使用前選進(jìn)DC。 Cbrush:刷子,填充 Cfont:字體,控制文字輸出的字體 。Cfile:文件。最重要的不
16、外是Open(打開(kāi)),Read(讀入),Write(寫(xiě)) Cstring:字符串。封裝了C中的字符數(shù)組,非常實(shí)用。 2.2 數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)技術(shù)作為管理技術(shù),是計(jì)算機(jī)軟件領(lǐng)域的一個(gè)重要分支,產(chǎn)生于60年代末?,F(xiàn)在已形成相當(dāng)成規(guī)模的理論體系和實(shí)用技術(shù),優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì)是應(yīng)用成功的基石,是開(kāi)發(fā)應(yīng)用的前提。數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)分為三級(jí):內(nèi)部級(jí),概念級(jí)和外部級(jí)。這個(gè)三級(jí)結(jié)構(gòu)有時(shí)也稱(chēng)為“三級(jí)模式結(jié)構(gòu)”外部級(jí):最接近用戶,是單個(gè)用戶所有能看到的數(shù)據(jù)特性。單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱(chēng)為“外模式”。概念級(jí):涉及到所有用戶的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖。全局視圖的描述稱(chēng)為“概念模式”。內(nèi)部級(jí):最接近于物理存儲(chǔ)設(shè)備,
17、涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)物理存儲(chǔ)數(shù)據(jù)視圖的描述稱(chēng)為“內(nèi)模式”。數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)的三個(gè)抽象級(jí)別。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象的處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ),這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。本系統(tǒng)采用的數(shù)據(jù)庫(kù)管理系統(tǒng)是微軟公司的Acess2000,Access數(shù)據(jù)庫(kù)不但具有dBASE、FoxBASE、FoxPro等數(shù)據(jù)庫(kù)的優(yōu)點(diǎn),而且還具有其自身特點(diǎn),它是對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)的發(fā)展,提供了真正的關(guān)系數(shù)據(jù)庫(kù)管理。Access是一個(gè)功能強(qiáng)大、方便靈活、適用于個(gè)人單機(jī)環(huán)境下使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它同時(shí)提供了一個(gè)完整的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具,可用于開(kāi)發(fā)適合于特定的數(shù)
18、據(jù)庫(kù)管理的Windows應(yīng)用程序。<1>Access的對(duì)象Access 2000支持的對(duì)象包括表、查詢(xún)、報(bào)表、窗體、宏、模塊及網(wǎng)頁(yè)。Access所提供的這些對(duì)象都存放在同一個(gè)數(shù)據(jù)庫(kù)文件(.mdb文件)中,而不像其他數(shù)據(jù)庫(kù)那樣分別存放于不同的文件中。這樣就方便了數(shù)據(jù)庫(kù)文件的管理。在Access 2000的各個(gè)對(duì)象中,表是數(shù)據(jù)庫(kù)的核心基礎(chǔ),它存放著數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)信息。報(bào)表、查詢(xún)和窗體都是從數(shù)據(jù)表中獲得數(shù)據(jù)信息,以實(shí)現(xiàn)用戶的某一特定需要,例如查找、計(jì)算統(tǒng)計(jì)、打印、編輯修改等。窗體可以為用戶提供良好的操作界面,通過(guò)窗體,用戶可以直接或間接地調(diào)用宏或模塊,并執(zhí)行查詢(xún)、打印、預(yù)覽、計(jì)算多呢
19、個(gè)功能,甚至對(duì)數(shù)據(jù)表進(jìn)行編輯修改等。<2>Access的主要功能(1)定義數(shù)據(jù)創(chuàng)建表,利用表儲(chǔ)存相應(yīng)的信息。(2)根據(jù)需要定義各表之間的關(guān)系,從而將各個(gè)表中的相關(guān)的數(shù)據(jù)有機(jī)的結(jié)合在一起。(3)方式多樣的數(shù)據(jù)處理能力。可以創(chuàng)建查詢(xún)來(lái)檢索數(shù)據(jù);可以創(chuàng)建聯(lián)機(jī)窗體來(lái)直接查看、輸入及更改表中的數(shù)據(jù);可以創(chuàng)建報(bào)表來(lái)分析數(shù)據(jù)或?qū)?shù)據(jù)以特定的方式打印出來(lái)。(4)創(chuàng)建Web頁(yè),建立對(duì)Internet和Intranet的支持(5)開(kāi)發(fā)應(yīng)用程序??梢岳煤昊騐isual Basic將各種數(shù)據(jù)庫(kù)對(duì)象連接在一起,形成一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),而且用戶也不需要編寫(xiě)復(fù)雜的代碼。2.3 系統(tǒng)運(yùn)行環(huán)境<1>.
20、操作系統(tǒng)要求:windows xp/windows 2000<2>.需要的軟件:Microsoft Office Access 2000,Visual Studio c+6.0<3>.計(jì)算機(jī)硬件要求:800MHZ奔騰 獲其他處理器,256以上的內(nèi)存3 需求分析3.1 功能需求分析用來(lái)查詢(xún)線路和車(chē)次,為不熟悉交通線路的乘客提供相應(yīng)的信息,通過(guò)站點(diǎn)輸入還可以查詢(xún)到該車(chē)輛通過(guò)的其他站點(diǎn),便于乘客的換乘。此系統(tǒng)一共包含三大功能塊,分別是數(shù)據(jù)庫(kù)系統(tǒng)模塊,車(chē)次查詢(xún)模塊,站點(diǎn)查詢(xún)模塊。這幾個(gè)模塊可實(shí)現(xiàn)的主要功能如下:(1)實(shí)現(xiàn)對(duì)公交車(chē)輛的管理,根據(jù)實(shí)際情況對(duì)線路及車(chē)輛進(jìn)行更改刪除等操
21、作。(2)實(shí)現(xiàn)對(duì)已知公交線路的具體信息的查詢(xún)功能,也包括所有站點(diǎn)。(3)已知站點(diǎn),點(diǎn)擊查詢(xún)得到所有經(jīng)過(guò)該站點(diǎn)的車(chē)輛線路信息。3.2 性能需求(1)可操作性:使該系統(tǒng)適合個(gè)層次乘客的用戶,查詢(xún)功能方便快捷。(2)實(shí)用性:系統(tǒng)為用戶實(shí)現(xiàn)了查詢(xún)操作。3.3 數(shù)據(jù)需求(1)公交車(chē)次數(shù)據(jù)的輸入,大部分是日照市大學(xué)城附近的車(chē)次。(2)站點(diǎn)數(shù)據(jù)的錄入。3.4 軟件結(jié)構(gòu) 本系統(tǒng)的軟件結(jié)構(gòu)比較簡(jiǎn)單,主要有兩大部分組成:車(chē)次查詢(xún)和站點(diǎn)換乘。如圖3-1所示: 公交查詢(xún)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)車(chē)次查詢(xún)站點(diǎn)查詢(xún)圖3-1 軟件結(jié)構(gòu)3.5 功能流程這個(gè)系統(tǒng)的功能流程是:用戶進(jìn)入主界面后進(jìn)行功能選擇。然后進(jìn)行數(shù)據(jù)輸或或選擇車(chē)次或者輸入
22、站點(diǎn)然后進(jìn)行查詢(xún),系統(tǒng)會(huì)進(jìn)行判定用戶輸入的信息是否正確,如果正確可以進(jìn)行下一步具體的查詢(xún)功能,否則的話會(huì)提示用戶輸入正確信息。如圖3-2所示: 圖3-2 功能流程4 系統(tǒng)設(shè)計(jì) 4.1系統(tǒng)功能模塊設(shè)計(jì)本系統(tǒng)的功能模塊劃分為公交線里車(chē)次具體信息查詢(xún)功能模塊,站點(diǎn)具體查詢(xún)功能模塊。(1) 查詢(xún)具體公交線路信息模塊 該模塊可以對(duì)用戶輸入的車(chē)輛盡行信息檢索,用戶也可以在系統(tǒng)的下拉列表中選擇自己要查詢(xún)的車(chē)輛,該公交線路的具體信息包括線路上所有的停靠站點(diǎn),功能模塊圖如圖所示: 圖 4-1 具體線路詳細(xì)查詢(xún)功能模塊圖(2)站點(diǎn)具體信息查詢(xún)模塊 該模塊可以根據(jù)用戶輸入的站點(diǎn)名稱(chēng)進(jìn)行信息查詢(xún),包括所有經(jīng)過(guò)該站點(diǎn)的
23、公交線路。功能模塊圖如圖所示:圖 4-2 站點(diǎn)查詢(xún)功能模塊圖4.2 數(shù)據(jù)交換的實(shí)現(xiàn) 系統(tǒng)的資源是存放在數(shù)據(jù)庫(kù)服務(wù)端的。當(dāng)客戶需要某些資源時(shí),在把這些資源由服務(wù)器發(fā)送給客戶端,通過(guò)輸入,點(diǎn)擊按鈕可獲得某一類(lèi)型的數(shù)據(jù),以該類(lèi)型的數(shù)據(jù)作為查詢(xún)條件遍歷數(shù)據(jù)表,以獲得目標(biāo)結(jié)果。本系統(tǒng)只是簡(jiǎn)單的單機(jī)運(yùn)行,但運(yùn)行時(shí)也需要將需要的數(shù)據(jù)庫(kù)連接到程序中,這樣用戶才能得到想要的結(jié)果。圖4-3查詢(xún)操作與數(shù)據(jù)交換4.3 模塊流程圖4.3.1 車(chē)次查詢(xún)流程圖 車(chē)次查詢(xún)的功能是根據(jù)用戶輸入的數(shù)據(jù)判斷是否為空,如果為空那么提示用戶輸入錯(cuò)誤,否則就調(diào)用車(chē)次查詢(xún)函數(shù),看是否到了記錄的末端,如果是那么就結(jié)束。如果不是,那么就指向當(dāng)
24、前記錄看是否等同于當(dāng)前記錄中的車(chē)次,如果等同那么返回給顯示控件顯示結(jié)果。如果不等同那么就指向下一條記錄。圖4-4 車(chē)次查詢(xún)流程圖4.3.2站點(diǎn)查詢(xún)流程圖站點(diǎn)查詢(xún)的功能是根據(jù)用戶輸入的數(shù)據(jù)判斷是否為空,如果為空那么提示用戶輸入錯(cuò)誤,否則就調(diào)用站點(diǎn)查詢(xún)函數(shù),看是否到了記錄的末端,如果是那么就結(jié)束。如果不是,那么就指向當(dāng)前記錄看是否等同于當(dāng)前記錄中的站點(diǎn),如果等同那么返回給顯示控件顯示結(jié)果。如果不等同那么就指向下一條記錄。圖 4-5 站點(diǎn)查詢(xún)流程圖5系統(tǒng)實(shí)現(xiàn)這個(gè)應(yīng)用軟件落實(shí)到具體的實(shí)現(xiàn)上時(shí),首先要進(jìn)行界面的設(shè)計(jì),界面的功能布局是否合理、美觀與否都關(guān)乎到這個(gè)軟件質(zhì)量。所以軟件的界面也是很重要的一部分。
25、然后要建立數(shù)據(jù)庫(kù),數(shù)據(jù)表是用戶查詢(xún)內(nèi)容的來(lái)源,所以數(shù)據(jù)表的內(nèi)容直接關(guān)系到用戶可以從這個(gè)軟件中得到什么信息,這也是很重要的部分。這兩部分都做完以后剩下的就是編程了,這是所有預(yù)想功能能否實(shí)現(xiàn)的關(guān)鍵所在,也是設(shè)計(jì)難點(diǎn)。下面具體介紹各部分是怎么實(shí)現(xiàn)的。5.1 模塊界面 設(shè)計(jì)開(kāi)始首先要建立一個(gè)基于對(duì)話框的MFC工程類(lèi),這樣系統(tǒng)會(huì)默認(rèn)生成一個(gè)基本的對(duì)話框架。里面包含確定和取消兩個(gè)按鈕,我們根據(jù)自己的需要進(jìn)行增刪。這個(gè)查詢(xún)系統(tǒng)的主要模塊有兩個(gè),一個(gè)是車(chē)次查詢(xún)模塊,另一個(gè)是站點(diǎn)查詢(xún)模塊。這兩個(gè)模塊我做到了一起,這樣比較方便用戶操作。 車(chē)次查詢(xún)模塊 車(chē)次查詢(xún)模塊包含一個(gè)靜態(tài)控件static box ,一個(gè)組合框
26、combo box還有一個(gè)按鈕,顯示區(qū)是公共的,也就是說(shuō)不管是車(chē)次查詢(xún)還是站點(diǎn)查詢(xún)都是從右邊的顯示區(qū)中顯示。這樣比較節(jié)省資源,也比較美觀。具體界面如下圖5-1所示。圖5-1 車(chē)次查詢(xún)界面 站點(diǎn)查詢(xún)模塊 站點(diǎn)查詢(xún)界面和車(chē)次查詢(xún)差不多,控件基本上都是一樣的,只不過(guò)站點(diǎn)查詢(xún)中用來(lái)接收用戶輸入信息的是一個(gè)編輯框,編輯框負(fù)責(zé)和數(shù)據(jù)庫(kù)進(jìn)行信息交換,顯示區(qū)在右邊,站點(diǎn)查詢(xún)及整體效果如下圖5-2所示。圖 5-2整體查詢(xún)界面5.2 數(shù)據(jù)表 用Microsoft Access 2000做的公交車(chē)輛的數(shù)據(jù)庫(kù)如下,其中包含了車(chē)輛的車(chē)次信息及所有站點(diǎn)信息。 圖5-3 數(shù)據(jù)表信息5.3 車(chē)次查詢(xún)實(shí)現(xiàn)代碼及運(yùn)行結(jié)果車(chē)次查詢(xún)
27、模塊主要應(yīng)用的知識(shí)點(diǎn)是對(duì)記錄集的操作,ODBC記錄集的基本操作包括顯示、滾動(dòng)、添加、修改等,查詢(xún)的方式有兩種,一種是完全匹配查詢(xún),這種查詢(xún)方式是對(duì)每一條記錄都進(jìn)行查詢(xún),當(dāng)符合條件時(shí)就將其打開(kāi)。另外一種模糊查詢(xún),在車(chē)次查詢(xún)中用不到。下面具體實(shí)現(xiàn)車(chē)系查詢(xún)的主要代碼:void CBusDlg:OnNum() /車(chē)次查詢(xún)按鈕函數(shù)代碼 / TODO: Add your control notification handler code hereCString str; /定義字符串類(lèi)型的變量strint i=m_num.GetCurSel(); /返回組合框中列表框中當(dāng)前選中的項(xiàng)的下標(biāo)。如果/有選中項(xiàng),
28、則返回CB_ERR m_set.m_strFilter=" bus_station"if(m_set.IsOpen() /這是調(diào)用數(shù)據(jù)庫(kù)打開(kāi)函數(shù),如果文件是打開(kāi)的那么就執(zhí)/行以下的內(nèi)容m_set.Close(); /將文件關(guān)閉,重新進(jìn)行下面的操作m_set.Open(); /打開(kāi)文件m_set.MoveFirst(); /移到數(shù)據(jù)表中的第一條記錄for(int j=0;j<i;j+) /定義整型變量j,如果沒(méi)有到達(dá)記錄集的最后一條記/那么就順序往下移動(dòng)m_set.MoveNext();str.Format("%ld",m_set.m_bus_num
29、ber);/將變量值轉(zhuǎn)換成需要的類(lèi)型放到str中SetDlgItemText(IDC_BUSNUM1,str); /將str中的值顯示到控件中str.Format("%s",m_set.m_bus_station);SetDlgItemText(IDC_STANUM1,str);m_set.Close();這部分是對(duì)車(chē)次查詢(xún)模塊中的查詢(xún)按鈕添加的功能,它主要是在用戶輸入或者選擇所需車(chē)次后對(duì)數(shù)據(jù)庫(kù)進(jìn)行的檢索,將符合用戶要求的信息進(jìn)行顯示。運(yùn)行測(cè)試后結(jié)果如圖5-4 所示。圖 5-4 車(chē)次查詢(xún)結(jié)果這部分能夠正常運(yùn)行的前提是數(shù)據(jù)庫(kù)可以連接正常,如果數(shù)據(jù)庫(kù)連接不上那么系統(tǒng)將不可以調(diào)用
30、功能函數(shù)進(jìn)行信息檢索。當(dāng)用戶輸入信息不能和數(shù)據(jù)庫(kù)中的記錄相匹配時(shí)將會(huì)彈出對(duì)話框提示用戶無(wú)法找到所需信息,實(shí)現(xiàn)的代碼如下:BOOL CBusDlg:OnInitDialog()CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.LoadString(ID
31、S_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);/ 設(shè)置大圖標(biāo)SetIcon(m_hIcon, FALSE); /設(shè)置小圖標(biāo)if(!m_database.Open(NULL,FALSE,FALSE,"ODBC;DSN=bus") AfxMessageBox("打開(kāi)數(shù)據(jù)庫(kù)失?。?quot;);
32、/數(shù)據(jù)庫(kù)ODBC操作語(yǔ)言,如果不滿足條件那么就彈出對(duì)話框:打開(kāi)失敗m_set.Open();CString str;m_set.MoveFirst();while(!m_set.IsEOF() str.Format("%ld",m_set.m_bus_number);m_num.AddString(str);m_set.MoveNext();m_set.Close();return TRUE; 5.4站點(diǎn)查詢(xún)實(shí)現(xiàn)代碼及運(yùn)行結(jié)果站點(diǎn)查詢(xún)主要用到是模糊查詢(xún),用戶只給出停靠站而不是整條路線,我們需要對(duì)記錄集進(jìn)行模糊查詢(xún),在這里用到的關(guān)鍵語(yǔ)句是UpdateData(TRUE);m_
33、set.m_strFilter=" bus_station like '%"+m_edit+"%' "然后利用下面的語(yǔ)句將符合條件的線路顯示到用戶界面上str.Format("%ld",m_set.m_bus_number); 實(shí)現(xiàn)的站點(diǎn)查詢(xún)功能的代碼具體如下:void CBusDlg:OnSta() UpdateData(TRUE);m_set.m_strFilter=" bus_station like '%"+m_edit+"%' "if(!m_set.Op
34、en()|m_set.IsEOF()AfxMessageBox("抱歉,沒(méi)有找到您要查詢(xún)的信息!");CString str;int i=IDC_BUSNUM1,j=IDC_STANUM1;while(!m_set.IsEOF()str.Format("%ld",m_set.m_bus_number);SetDlgItemText(i,str);str.Format("%s",m_set.m_bus_station);SetDlgItemText(j,str);i+;j+;m_set.MoveNext();m_set.Close();
35、這段程序中如果開(kāi)頭部分IF語(yǔ)句里面的條件不滿足那么就會(huì)跳過(guò)if括號(hào)里面的內(nèi)容往下執(zhí)行,也就是說(shuō)用戶輸入的信息和數(shù)據(jù)庫(kù)里面的相匹配,那么程序運(yùn)行的結(jié)果如下圖5-5所示。圖5-5 站點(diǎn)查詢(xún)結(jié)果當(dāng)if里面的語(yǔ)句滿足即當(dāng)用戶輸入的數(shù)據(jù)不能和數(shù)據(jù)庫(kù)中的任何一個(gè)記錄集匹配時(shí)會(huì)彈出下面的對(duì)話框提示用戶重新輸入或者檢查其信息是否有誤,如圖5-6所示。圖5-6 沒(méi)有查詢(xún)到用戶輸入信息時(shí)結(jié)果6結(jié)論6.1 系統(tǒng)需要改進(jìn)的地方因本人能力有限和時(shí)間關(guān)系,本系統(tǒng)設(shè)計(jì)時(shí)沒(méi)有給出換乘的功能,這是該系統(tǒng)以后要著重改進(jìn)的地方。然后顯示區(qū)可以根據(jù)匹配信息的多少進(jìn)行動(dòng)態(tài)調(diào)整,減少靜態(tài)設(shè)置的冗余情況。這樣數(shù)據(jù)源的自動(dòng)設(shè)定和動(dòng)態(tài)鏈接問(wèn)題
36、可以賦予更大的自主性。系統(tǒng)還有很大的升級(jí)空間,以后時(shí)間精力允許我會(huì)進(jìn)一步將其完善。6.2 設(shè)計(jì)感想隨著畢業(yè)的臨近,我的大學(xué)生活就要結(jié)束了,即將踏入社會(huì)去開(kāi)始另一種生活。寫(xiě)這個(gè)論文的這段時(shí)間感觸頗多,我也學(xué)會(huì)了很多東西,感覺(jué)到自己在慢慢的成熟。 在選這個(gè)課題時(shí),我就有一定要做好這個(gè)論文的想法。我對(duì)計(jì)算機(jī)編程語(yǔ)言比較感興趣,所以對(duì)這個(gè)課題還是比較喜歡的。這也是我第二次做這樣的設(shè)計(jì),在大專(zhuān)的時(shí)候也是做的這樣的課題,只不過(guò)那個(gè)是用的java語(yǔ)言,設(shè)計(jì)的是虛擬漫游的課題。選題的時(shí)候沒(méi)料到會(huì)很艱難,那時(shí)候做的是相當(dāng)?shù)男量?,不過(guò)還好最終交上了一份滿意的答案?,F(xiàn)在我對(duì)這篇論文也傾注了大量的心血,到圖書(shū)館查閱了大量的資料,同時(shí)我也上網(wǎng)搜索了一些資料或者問(wèn)我的指導(dǎo)老師。慢慢的思路開(kāi)始清晰到開(kāi)始自己動(dòng)手編寫(xiě)程序。做程序的這些天基本上都
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024員工股權(quán)激勵(lì)計(jì)劃實(shí)施與股權(quán)轉(zhuǎn)讓合作協(xié)議書(shū)3篇
- 2024年智慧醫(yī)療設(shè)備研發(fā)與制造合作協(xié)議書(shū)3篇
- 2024年度預(yù)制構(gòu)件泥工勞務(wù)分包及安裝工程合同3篇
- 2024年度挖掘機(jī)械銷(xiāo)售與安裝調(diào)試合同范本3篇
- 2024年新型地板材料研發(fā)與應(yīng)用維護(hù)合作協(xié)議6篇
- 2024年度灣沚區(qū)消防救援大隊(duì)滅火器采購(gòu)與應(yīng)急演練合同3篇
- 2024年度溫室生態(tài)農(nóng)業(yè)觀光園項(xiàng)目承包合同3篇
- 2024年度地產(chǎn)項(xiàng)目房屋拆除及土地平整服務(wù)合同3篇
- 2024年度置換買(mǎi)賣(mài)合同:藝術(shù)品與古董3篇
- 新疆警察學(xué)院《信息產(chǎn)業(yè)政策概論》2023-2024學(xué)年第一學(xué)期期末試卷
- DB11∕T 243-2014 戶外廣告設(shè)施技術(shù)規(guī)范
- 飛灰二惡英類(lèi)低溫催化分解污染控制技術(shù)規(guī)范-編制說(shuō)明(征求意見(jiàn)稿)
- 會(huì)計(jì)憑證附件管理制度范文
- 保潔突發(fā)事件應(yīng)急預(yù)案
- 三農(nóng)領(lǐng)域法律法規(guī)解讀手冊(cè)
- 【人教版】《勞動(dòng)教育》三下 勞動(dòng)項(xiàng)目六 清理電冰箱 課件
- 全球半導(dǎo)體制造類(lèi)eda行業(yè)發(fā)展白皮書(shū)-沙利文-2024120
- 人教版六年級(jí)上冊(cè)數(shù)學(xué)-分?jǐn)?shù)乘除法-應(yīng)用題專(zhuān)練
- 原始地形測(cè)量合同模板
- 江西省贛州市2022-2023學(xué)年四年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 鑿壁偷光兒童故事繪本
評(píng)論
0/150
提交評(píng)論