車(chē)次信息管理系統(tǒng)的課程設(shè)計(jì)_第1頁(yè)
車(chē)次信息管理系統(tǒng)的課程設(shè)計(jì)_第2頁(yè)
車(chē)次信息管理系統(tǒng)的課程設(shè)計(jì)_第3頁(yè)
車(chē)次信息管理系統(tǒng)的課程設(shè)計(jì)_第4頁(yè)
車(chē)次信息管理系統(tǒng)的課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、課程設(shè)計(jì)的原始資料及根據(jù)

查閱有關(guān)資料,深入理解面向?qū)ο蟪绦蛟O(shè)計(jì)『、J思想,并編寫(xiě)一種簡(jiǎn)樸『、Jwindows系統(tǒng)。

通過(guò)本設(shè)計(jì)可以加深理解使月面向?qū)ο蟪绦蛟O(shè)計(jì)思想開(kāi)發(fā)一種系統(tǒng)口勺措施,提高分析問(wèn)題、

處理問(wèn)題和實(shí)際動(dòng)手的能力。

二、課程設(shè)計(jì)重要內(nèi)容及規(guī)定

設(shè)計(jì)內(nèi)容:

查詢(xún):為對(duì)車(chē)次信息口勺查詢(xún)和對(duì)車(chē)票信息口勺查詢(xún)。

車(chē)次信息包括:日期、車(chē)次、出發(fā)地、目口勺地。車(chē)次信息只容許乘客查詢(xún),不能修改。

記錄應(yīng)包括:日期、車(chē)次、出發(fā)地、目的地。

設(shè)計(jì)規(guī)定:

(1)規(guī)定運(yùn)用面向?qū)ο罂谏状胧┩戤呄到y(tǒng)的設(shè)計(jì);

(2)規(guī)定在設(shè)計(jì)的過(guò)程中建立清晰口勺類(lèi)層次,并畫(huà)出類(lèi)圖;

(3)設(shè)計(jì)功能滿(mǎn)足規(guī)定、易于操作日勺友好界面;

(4)界面中需有菜單、工具欄、狀態(tài)欄;

(5)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制:繼承、多態(tài)等;

(6)在完畢該題目時(shí),小組人員進(jìn)行詳細(xì)的任務(wù)分工,并要在匯報(bào)中體現(xiàn)出來(lái)。

三、對(duì)課程設(shè)計(jì)闡明書(shū)撰寫(xiě)內(nèi)容、格式、字?jǐn)?shù)的規(guī)定

1.課程設(shè)計(jì)闡明書(shū)是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,重要內(nèi)容包括:設(shè)計(jì)題目、設(shè)計(jì)

目的、設(shè)備器材、設(shè)計(jì)原理及內(nèi)容、設(shè)計(jì)環(huán)節(jié)、碰到的問(wèn)題及處理措施、設(shè)計(jì)總結(jié)、參照文

獻(xiàn)等。一般不應(yīng)少于3000字。

2.在合適位置配合對(duì)應(yīng)的試驗(yàn)原理圖、功能模塊圖、算法流程圖等圖表進(jìn)行闡明。應(yīng)做

到文埋通順,內(nèi)容對(duì)的完整,書(shū)寫(xiě)_L整,裝訶整潔。

3.設(shè)計(jì)總結(jié)部分重要寫(xiě)本人完畢工作簡(jiǎn)介以及自己的J設(shè)計(jì)體會(huì),包括通過(guò)課程設(shè)計(jì)學(xué)到

了什么,哪里碰到了困難,處理的措施以及此后的目的I。

4.課程設(shè)計(jì)闡明書(shū)手寫(xiě)或打印均可。手寫(xiě)要用學(xué)校統(tǒng)一日勺課程設(shè)計(jì)用紙,用黑或藍(lán)黑墨

水工整書(shū)寫(xiě):打印時(shí)采用A4紙,頁(yè)邊距均為20mm,正文采用宋體小四號(hào)字,行間距18磅.

文中大標(biāo)題采用黑體小三號(hào)字,一級(jí)節(jié)標(biāo)題采用黑體四號(hào)字,二級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,

表題與圖題采用宋體五號(hào)字。

5.課程設(shè)計(jì)闡明書(shū)裝訂次序?yàn)椋悍饷妗⑷蝿?wù)書(shū)、成績(jī)?cè)u(píng)估表、目錄、正文、參照文獻(xiàn)。

四、設(shè)計(jì)完畢后應(yīng)提交成果的種類(lèi)、數(shù)量、質(zhì)量等方面的規(guī)定

1.完畢“任務(wù)書(shū)”中指定的功能,運(yùn)行成果對(duì)於J。

2.課程設(shè)計(jì)闡明書(shū)。

五、時(shí)間進(jìn)度安排

次序階段日期計(jì)劃完成內(nèi)容備注

進(jìn)行設(shè)計(jì)準(zhǔn)備,閱讀資料,分析設(shè)計(jì)

1第1天

任務(wù)書(shū),明確設(shè)計(jì)規(guī)定、內(nèi)容和環(huán)節(jié)

2第2天需求分析

3第3天概要設(shè)計(jì)

4第4-5天詳細(xì)設(shè)計(jì)

5第5—8天編碼、調(diào)試

6第9-10天程序答辯,撰寫(xiě)課程設(shè)計(jì)匯報(bào)

六、重要參照資料(文獻(xiàn))

[1]鄭莉董淵張瑞豐編著.《C++語(yǔ)言程序設(shè)計(jì)》(第4版).北京:清華大學(xué)出版

社.2023

[2]陳維興,林小茶.《C++高級(jí)程序設(shè)計(jì)教程》.北京:清華大學(xué)出版社

[3]譚浩強(qiáng).《C++程序設(shè)計(jì)教程》.北京:中國(guó)科學(xué)技術(shù)出版社

[4]王燕.《面向?qū)ο笕丈桌碚撆cC++實(shí)踐》.北京:清華大學(xué)出版社

[5]馬石安,魏文平.主編《VisualC++程序設(shè)計(jì)與應(yīng)用教程》.北京:清華大學(xué)出版

[6]王育堅(jiān).主編《VisualC++面向?qū)ο缶幊探坛獭罚ǖ诙妫?北京:清華大學(xué)出版

目錄

摘要錯(cuò)誤!未定義書(shū)簽。

第1章緒論錯(cuò)誤!未定義書(shū)簽。

1.1C++語(yǔ)言的發(fā)展1

1.2概要設(shè)計(jì)1

1.3功能分析....................................................................1

1.4設(shè)計(jì)分工及編程實(shí)現(xiàn).........................................................2

第2章需求分析....................................................3

2.1系統(tǒng)設(shè)計(jì)目的與意義..........................................................3

2.2系統(tǒng)數(shù)據(jù)流圖................................................................3

2.3系統(tǒng)功能簡(jiǎn)介................................................................4

2.4系統(tǒng)功能模塊圖.............................................................4

第3章詳細(xì)設(shè)計(jì)....................................................5

3.1類(lèi)設(shè)計(jì)......................................................................5

3.2程序代碼描述...............................................................12

3.3界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)..................................錯(cuò)誤!未定義書(shū)簽。

第4章系統(tǒng)測(cè)試...................................................24

4.1測(cè)試過(guò)程中的問(wèn)題...........................................................24

4.2測(cè)試成果闡明...............................................................24

4.3設(shè)計(jì)回憶...................................................................24

結(jié)論............................................................25

致謝...............................................................26

參照文獻(xiàn).............................................................27

第1章緒論

1.1C++語(yǔ)言的1發(fā)展

美國(guó)AT&T貝爾試驗(yàn)室的本賈尼?斯特勞斯特盧普(BjarneStroustrup)博士在20世紀(jì)

80年代初期發(fā)明并實(shí)現(xiàn)了C++(最初這種語(yǔ)言被稱(chēng)作“CwithClasses")。一開(kāi)始C++是作

為C語(yǔ)言的增強(qiáng)版出現(xiàn)的,從給C語(yǔ)言增長(zhǎng)類(lèi)開(kāi)始,不停的增長(zhǎng)新特性。虛函數(shù)(virtual

function)、運(yùn)算符重載(operatoroverloading)、多重繼承(multipleinheritance)、模

板(template)>異常(exception)、RTTI、命名空間(namespace)逐漸被加入原則。1998

年國(guó)際原則組織(ISO)頒布了C++程序設(shè)計(jì)語(yǔ)言的國(guó)際原則TSO/IEC1988-1998。C++是具有

國(guó)際原則口勺編程語(yǔ)言,一般稱(chēng)作ANST/ISOC++。

C++語(yǔ)言發(fā)展大概可以分為三個(gè)階段:第一階段從80年代到1995年。這一階段C++語(yǔ)言

基本上是老式類(lèi)型上的面向?qū)ο笳Z(yǔ)言,并且憑借著靠近C語(yǔ)言口勺效率,在工業(yè)界使用的開(kāi)發(fā)

語(yǔ)言中占據(jù)了相稱(chēng)大份額;第二階段從1995年到2023年,這一階段由于原則模板庫(kù)(STL)

和后來(lái)的Boost等程序庫(kù)日勺出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來(lái)越多日勺比重性。當(dāng)然,

同步由于Java、C#等語(yǔ)言H勺出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;第三階

段從2023年至今,由于以Loki、MPL等程序庫(kù)為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++

出現(xiàn)了發(fā)展歷史上又一種新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)

成為當(dāng)今主流程序設(shè)計(jì)語(yǔ)言中最復(fù)雜的一員。

1.2概要設(shè)計(jì)

為了保證系統(tǒng)可以長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)當(dāng)滿(mǎn)足如下的性能

需求。

(1)精確性和及時(shí)性:系統(tǒng)處埋的精確性和及時(shí)性是系統(tǒng)H勺必要性能。系統(tǒng)應(yīng)能及時(shí)并且

精確日勺根據(jù)顧客權(quán)限及所輸入日勺信息做出響應(yīng)。車(chē)次歐I數(shù)量和時(shí)間影響顧客的決策活動(dòng),在

系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的措施保證系統(tǒng)的精確性和及時(shí)性。

(2)易用性:本系統(tǒng)是直接面對(duì)顧客日勺,這就規(guī)定系統(tǒng)提供良好的I顧客接口,易用日勺人機(jī)

交互界面,這就規(guī)定系統(tǒng)應(yīng)當(dāng)盡量使用顧客熟悉的I術(shù)語(yǔ)和中文信息日勺界面,從而保證系統(tǒng)的J

易用性。

(3)安全性:訂票系統(tǒng)中波及到的數(shù)據(jù)是客運(yùn)企業(yè)相稱(chēng)重要的信息,系統(tǒng)要保證顧客的權(quán)

限,對(duì)于車(chē)次等信息顧客只享有查詢(xún)服務(wù),不得更改;系統(tǒng)還要提供以便的手段供系統(tǒng)維護(hù)

人員進(jìn)行數(shù)據(jù)備份、以及平常安全管理等工作。

1.3功能分析

(1)查詢(xún)?yōu)閷?duì)車(chē)次信息的查詢(xún)和對(duì)車(chē)票信息H勺查詢(xún)。

車(chē)次信息包括:日期、車(chē)次、出發(fā)地、目口勺地。車(chē)次信息只容許乘客查詢(xún),不能修改。

記錄應(yīng)包括:日期、車(chē)次、出發(fā)地、目的地。

(2)賬戶(hù)管理。

只容許管理人員登錄,管理人員可以修改信息修改的信息包括:日期、車(chē)次、出發(fā)地、

目的地。

1.4設(shè)計(jì)分工及編程實(shí)現(xiàn)

本小組課程設(shè)計(jì)是由兩人參與完畢的。我H勺工作是完畢派生類(lèi)和主函數(shù),完畢操作H勺匯

合和界面操、作基類(lèi)日勺構(gòu)造為閆浩編寫(xiě),該類(lèi)日勺名稱(chēng)為weihulei。

編程重要通過(guò)四個(gè)環(huán)節(jié):編輯、編譯、鏈接、運(yùn)行調(diào)試。編輯是將自己設(shè)計(jì)好日勺源程序

輸入計(jì)算機(jī)中,生成后綴為.cpp的磁盤(pán)文獻(xiàn);編譯是將程序的源代碼轉(zhuǎn)換為機(jī)器語(yǔ)言代碼,

這一過(guò)程是計(jì)算機(jī)自動(dòng)執(zhí)行的,我們?nèi)耸强床坏降?;鏈接是將多種源程序文獻(xiàn)以及庫(kù)中日勺某

些文獻(xiàn)連在一起,生成一種后綴為為.CXC時(shí)可執(zhí)行文獻(xiàn);運(yùn)行調(diào)試是會(huì)運(yùn)行出一種界面,狀

態(tài)欄會(huì)提醒對(duì)應(yīng)的I信息,如沒(méi)有錯(cuò)誤,或者是錯(cuò)誤在哪一行,錯(cuò)誤日勺原因等。程序日勺運(yùn)行和

調(diào)試是一種很困難的過(guò)程,但通過(guò)本次課設(shè).我們對(duì)本課程的學(xué)習(xí)有了很大的進(jìn)步C

第2章需求分析

2.1系統(tǒng)設(shè)計(jì)目日勺與意義

規(guī)定用C++面向程序設(shè)計(jì)語(yǔ)言編寫(xiě)車(chē)次信息管理系統(tǒng),

1.使學(xué)生深入理解和掌握課堂上所學(xué)內(nèi)容。

2.使學(xué)生掌握軟件設(shè)計(jì)的基本內(nèi)容和設(shè)計(jì)措施,并培養(yǎng)學(xué)生進(jìn)行規(guī)范化軟件設(shè)計(jì)的能力。

3.使學(xué)生掌握使用多種計(jì)算機(jī)資料和有關(guān)參照資料,提高學(xué)生進(jìn)行程序設(shè)計(jì)的基本能力。

4.提高學(xué)生日勺論文寫(xiě)作能力

5.本次課程設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)的重要實(shí)踐性教學(xué)環(huán)節(jié)之一,規(guī)定運(yùn)用所學(xué)專(zhuān)業(yè)FI勺有關(guān)知

識(shí),結(jié)合實(shí)際操作與應(yīng)用而進(jìn)行的一次編程綜合能力的訓(xùn)練,意在培養(yǎng)學(xué)生在應(yīng)用軟件程序

設(shè)計(jì)方面,初步掌握處理實(shí)際應(yīng)用問(wèn)題時(shí)所應(yīng)具有的查閱資料、技術(shù)原則和規(guī)范,以及設(shè)計(jì)

程序、調(diào)試程序、編寫(xiě)基本軟件等能力,為畢業(yè)設(shè)計(jì)及此后從事專(zhuān)業(yè)有關(guān)的工作打下一定的

基礎(chǔ)。

2.2系統(tǒng)數(shù)據(jù)流圖

實(shí)現(xiàn)日勺重要功能有:

車(chē)次信息H勺查詢(xún):輸入查詢(xún)車(chē)次H勺信息編號(hào)或站點(diǎn);車(chē)次信息H勺添加功能:添加的信息

有車(chē)次編號(hào),起點(diǎn)站和終點(diǎn)站;車(chē)次信息日勺查詢(xún)功能:查詢(xún)車(chē)次的所有信息;車(chē)次信息的修

改功能,任意修改所有信息;;車(chē)次信息H勺刪除功能:刪除所rr或個(gè)別車(chē)次信息。

圖2.1系統(tǒng)數(shù)據(jù)流圖

2.3系統(tǒng)功能簡(jiǎn)介

此程序名稱(chēng)為《車(chē)次信息管理系統(tǒng)》,顧名思義,這是一種可以管理列車(chē)基本信息日勺一種

基本程序,它可以實(shí)現(xiàn)簡(jiǎn)樸的列車(chē)信息查詢(xún)和管理車(chē)次信息以及查看等功能,詳細(xì)有如下功

能:

1.為了讓程序開(kāi)始界面一目了然,使得程序更輕易操作,故再次設(shè)計(jì)了顧客登陸界面。

2.重要功能還是車(chē)次信息的管理與維護(hù),包括有:增長(zhǎng)車(chē)次信息、刪除車(chē)次信息、修改

車(chē)次信息。其中車(chē)次信息包括路過(guò)各站點(diǎn)日勺名稱(chēng)及時(shí)間。

3.當(dāng)然作為一種信息日勺管理系統(tǒng),另一項(xiàng)重要日勺功能就是車(chē)次日勺查詢(xún)系統(tǒng),本程序設(shè)計(jì)

了查詢(xún)時(shí)可實(shí)現(xiàn)按站名查詢(xún)、按車(chē)次查詢(xún),并且提供站一站查詢(xún)。

4.最終一項(xiàng)功能即為列車(chē)記錄,即輸入一種站名,可記錄通過(guò)該站點(diǎn)時(shí)列車(chē)數(shù)目,假如

輸入兩個(gè)站名,則可以記錄同步通過(guò)這兩個(gè)站點(diǎn)的所有列車(chē)數(shù)目。

2.4系統(tǒng)功能模塊圖

本系統(tǒng)『'J輸入輸出為:

1.車(chē)次信息錄入

2.車(chē)次信息顯示

3.車(chē)次信息的刪除

4.車(chē)次信息的修改

5.記錄所有車(chē)次信息

圖2.2系統(tǒng)功能流圖

第3章詳細(xì)設(shè)計(jì)

3.1類(lèi)設(shè)計(jì)

類(lèi)是面向?qū)ο蟪绦蛟O(shè)計(jì)措施的關(guān)鍵,運(yùn)用類(lèi)可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的封裝和隱藏。

在面向過(guò)程時(shí)構(gòu)造化程序設(shè)計(jì)中,程序的模塊是由函數(shù)構(gòu)成的,函數(shù)將邏輯上有關(guān)的語(yǔ)

句與數(shù)據(jù)封裝,用于完畢特定口勺功能。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,程序模塊是由類(lèi)構(gòu)成的。類(lèi)

是對(duì)邏輯上有關(guān)的函數(shù)與數(shù)據(jù)口勺封裝,它是對(duì)問(wèn)題日勺抽象描述。因此,后者H勺集成程度更高,

也就更適用于大型復(fù)雜程序的開(kāi)發(fā)。類(lèi)的組員包括數(shù)據(jù)組員和函數(shù)組員,它們分別描述了問(wèn)

題的屬性和行為,是不可分割日勺兩個(gè)方面。

本系統(tǒng)是對(duì)車(chē)次信息功能日勺操作。定義的基類(lèi)和派生類(lèi)如下:

1.基類(lèi)的名稱(chēng)是weihulei,通過(guò)該類(lèi),實(shí)現(xiàn)了添加車(chē)次信息;顯示車(chē)次信息;刪除車(chē)次

信息;修改車(chē)次信息;顯示車(chē)次信息;該類(lèi)的代碼如下所示:

classweihulei{

public:

NODE*p;

NODE*q:

weihulei()〃構(gòu)造

p二NULL;

)

/**********添力口組員*********/

voidgongneng(NODE*n)〃添加

(

q=newNODE;

q->next=p;

n二p二q;

cout<<〃通過(guò)起點(diǎn)站名稱(chēng):〃;

cin>>p->n;

cout*〃通過(guò)終點(diǎn)站名稱(chēng):〃;

cin>>p->m;

cout<(〃車(chē)次號(hào)碼:〃;

cin>>p->nuni;

cout式"發(fā)車(chē)時(shí)間:”;

cin>>p->time;

}

voidgongneng()〃顯示

(

P二q;

while(p!=NULL)

cout<<〃通過(guò)起點(diǎn)站名稱(chēng):〃<<p->n<〈endl;

coutV〈”通過(guò)終點(diǎn)站名稱(chēng):”《p->m<<endl:

cout<〈”車(chē)次號(hào)碼:,,<<p->num<<endl;

cout<<“開(kāi)車(chē)時(shí)間:zz<<p->time<<endl;

p=p->next;

)

PF;

)

/**********重載**********/

voiddel(NODE*k)〃刪除

(

k=newNODE;

k=p二q;

charn[20];

cout久〃請(qǐng)輸入車(chē)次號(hào)碼://?endl;

cin>>n;

while(p!二NULL&&(strcmp(p->num,n)!=0)!=0)

(

k=p;

p=p->next;

if(p=NULL)

cout<〈"杳無(wú)此車(chē)(-_-)!!”<<endl;

else

(

if(p二二q)

q=q->next;

else

k->next=p->next;

free(p);

P二q;

coutX〈〃刪除成功!/z?endl;

voiddel()

I

p二q二NULL:

cout<<〃所有信息已刪除!〃;

)

/**********修改**********/

voidgongneng(charn[20])〃編輯

p=q;

cout?〃請(qǐng)輸入車(chē)次號(hào)碼:〃<<endl;

cin?n;

whi1e(p!=NULL&&(strcmp(p->num,n)!=0)!=0)

{

p=p->next;

)

if(p==NULL)

{cout<<”查無(wú)此車(chē)!!,,<<cndl;

}

else

(

cout?!蓖ㄟ^(guò)起點(diǎn)站名稱(chēng):”;

cin>>p->n;

cout<<〃通過(guò)終點(diǎn)站名稱(chēng):〃;

cin>>p->m;

cout<〈〃車(chē)次號(hào)碼:〃;

cin>>p->num;

cout<<“發(fā)車(chē)時(shí)間:〃;

cin>>p->time;

cout<<〃按仟意鍵返回!!,z?endl:

/**********簡(jiǎn)樸虛函數(shù)**********/

virtualvoidxianshi()

cout<<〃請(qǐng)輸入密碼:〃;

intpassword;

for(inti=0;i<3;i++)

cin>>password;

if(password—123456)

cout<<"登陸成功C_)!"<<endl;

getchO;

return;

elsecout<<〃您輸入的I密碼有誤,請(qǐng)重新輸入:〃;

)

cout?〃三次輸入錯(cuò)誤,拒絕登陸(二-)!〃<〈endl;

while(1){

getchO;

}

);

它『'J數(shù)據(jù)組員包括:NODE*p,*q;

而組員函數(shù)則是包拈:

voidgongneng(NODE*n)/:添加車(chē)次信息;

voidgongnengO/:顯示車(chē)次信息

voiddel(NODE*k):刪除車(chē)次信息;

voidgongncng(charn[20]):修改車(chē)次信息;

virtualvoidxianshi():顯示車(chē)次信息;

2派生類(lèi):查詢(xún)類(lèi)(classchaxunlei:publicweihtlei),它的I重要功能是查詢(xún)車(chē)次的信

息vogongnengO:查詢(xún)車(chē)次信息,它歡)詳細(xì)代碼如下所示:

/**********查詢(xún)類(lèi)**********/

classchaxunlei:publicweihulei

!

public:

/不不不不不不不不不不不不不不不不不不不不/'

chaxunlei(weihuleic):weihulei()//構(gòu)造

p=c.p:

q=c.q;

}

/**********杳詢(xún)函數(shù)**********/

voidgongnengO〃查詢(xún)

p=q;

charn[20];

charm[20];

chari;

cout<<”請(qǐng)選擇查詢(xún)方式:1車(chē)次查詢(xún);2站名查詢(xún);3站-站查詢(xún)\n”;

cin>>i;

if(p==NULL)

(

cout*〃沒(méi)有列車(chē)信息(-_-)!!〃《cndl;

}

switch(i)

case,1':

cout<<〃請(qǐng)輸入車(chē)次號(hào)碼:,z?endl;

cin>>n;

while(p!=NULL)

{

if(strcmp(p->num,n)==0)

(

cout<〈”通過(guò)起點(diǎn)站名稱(chēng):〃<<p->n<<endl;

cout<<〃通過(guò)終點(diǎn)站名稱(chēng):〃<<p->m〈<endl;

cout<<“車(chē)次號(hào)碼:"<〈p-)num<〈endl;

cout<<”開(kāi)車(chē)時(shí)間:z,?p->time?endl;

}

p=p->next;

)

cout<〈〃按任意鍵返回!!〃<<endl;

return;

}

case,2':

{cout<<〃請(qǐng)輸入站名:〃<<endl;

cin?n;

while(p!=NULL)

if((strcmp(p->n,n)==0)|(strcmp(p->m,n)==0))

{cout<<"通過(guò)起點(diǎn)站名稱(chēng):〃《p->n〈〈endl;

cout<〈〃通過(guò)終點(diǎn)站名稱(chēng):〃<<p->ni<<cndl;

cout<〈〃車(chē)次號(hào)碼:z,?p->num?endl;

cout<〈〃開(kāi)車(chē)時(shí)間:,z?p->tiine?endl;

)

p=p->next;

)

cout<<〃按任意鍵返回??!〃<Xcndl;

return;

)

case*3':{cout<<〃請(qǐng)輸入起點(diǎn)站名:〃<<endl;

cin?n;

cout<〈〃請(qǐng)輸入終點(diǎn)站名:〃<<endl;

cin>>m;

while(p!二NULL)

(

if((strcmp(p->n,n)~0)&&(strcmp(p->m,m)==0))

{

cout<<"通過(guò)起點(diǎn)站名稱(chēng):〃《p->n〈(endl;

cout<<"通過(guò)終點(diǎn)站名稱(chēng):〃?p->m<<endl;

cout《〈”車(chē)次號(hào)碼:,,<<p->num<<endl:

cout<<〃開(kāi)車(chē)時(shí)間:,,<<p->time<<endl;

)

p=p->next;

)

cout<<〃按任意鍵返回!!〃<<endl;

return;

)

default:return;

)

)

/**********虛函數(shù)**********/

voidxianshi()

(

y-a.//

II111[\、*J**J**|?*J*Jj%*J^

*******”.

cout<<'\n1:查找車(chē)次!

cout<<z,\n2:顯示車(chē)次信息!〃:

cout<</z\n3:列車(chē)記錄〃;

cout<<z,\n4:退出!;

?-Wag?//q.XL*WXWX?Zx?Jx4,VX

(fllII\\*|**f**7**?**|**T**4**?**V**T**7**/**?**|**)**4**T**!**T**4**i**T**1**7**?**1**1**4**1**1**T**4*****1**T**4**4**4*****1**1**4**T**1**T**4*****1**1**1**?**T**i**4*****4**7*****1**1**4*

*******〃<<end];

cout<〈〃請(qǐng)輸入菜單項(xiàng)選擇項(xiàng):,,<<endl;

)

);

而派生類(lèi)日勺功能重要是實(shí)現(xiàn)記錄車(chē)次信息日勺功能,它可以輸出車(chē)次日勺編號(hào),起點(diǎn)站和終

點(diǎn)站信息。組員函數(shù)為voidgongnen晨):記錄車(chē)次信息。詳細(xì)的I代碼如下所示:

classtongjilei:publicweihulei

I

public:

tongjilei(weihuleic):weihulei()//構(gòu)造

(

p=c.p;

q=c.q;

)

voidgongncng()〃記錄

intsm=0;

charn[20]:

cout<<”請(qǐng)輸入站名:,,<<endl;

cin>>n;

while(n)

(

p=p->next;

if(p二二NULL)

(

if((strcmp(q->n,n)==0)|(strcmp(q->m,n)==0))

(

sm++;

)

break;

}

if((strcmp(p->n,n)==0)||(strcmp(p->m,n)==0))

(

sm++;

}

}

if(sm-O)cout?〃查無(wú)次車(chē);

cout<<〃記錄車(chē)次數(shù)目為:〃〈〈snKVendl;

}:

詳細(xì)類(lèi)的關(guān)系如下圖所示:

圖3.1類(lèi)圖關(guān)系

3.2數(shù)據(jù)構(gòu)造

自定義數(shù)據(jù)類(lèi)型:定義了structnode構(gòu)造體類(lèi)型,其中在weihulei中定義了p和q兩

個(gè)構(gòu)造體,用這兩個(gè)指針類(lèi)型來(lái)進(jìn)行結(jié)點(diǎn)口勺定位和對(duì)頭指針的操作。

typedefstructnode

(

charn[20];

charin[20];

charnum[20];

chartime[20]:

structnode*next;

)N0DE;

3.3界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)

界面設(shè)計(jì)

1.系統(tǒng)開(kāi)始界面,如圖3.2所示。

voidwelcome()

(

SetConsoleTextAttribute(GetStdHandle(STDOUTPUT_HANDLE),F0REGR0UND_INTENSITY|

FOREGROUND_GREEN);

cout<<,z$----------------------------------$,z<<endl;

cout<<z,||,z<<endl;

cout?z,|**歡迎進(jìn)入車(chē)次信息管理系統(tǒng)**|/,?endl;

cout<<//1|/z<<endl;

cout<<〃@----------------------------------@〃<<endl;

cout<<z,按任意鍵進(jìn)入“〈〈endl;

getchO;

■"E:\MSDev98\MyProjects\f\Debug\f.exe"

神歡迎進(jìn)入車(chē)次信息管理系統(tǒng)**

按任意鍵進(jìn)入

圖3.2

2.操作人員類(lèi)型選擇界面,如圖3.3所示。

voidmainmenu()

cout?/zl.管理員〃<<endl;

cout<<,,2.乘客〃<<cndl;

cout?,,3.退出本系統(tǒng)〃<<endl;

$--------------------------------------$

!”歡迎進(jìn)入車(chē)次信息管理系統(tǒng)**:

ee

噎理員

播1電本系統(tǒng)

圖3.3

3.乘客進(jìn)入界面,如圖3.4所示。

voidxianshi()

//

I?11II\*i**i**|^^**j**1**i**1**i**T**T**T**T**T**1**|**T**T**T**T**T**g**T**T**T**i**1**j**T**T*

*******〃;

cout<<z'\n1:查找車(chē)次!〃;

cout<〈”\n2:顯示車(chē)次信息!〃;

cout<<,z\n3:列車(chē)記錄〃;

cout<<z,\n4:退出!〃<<endl;

c/"x.1-4-//"*14?f**1**1**1*?1^^1**1*?J**1?*1*?!>^1<*1*?J**1*?J**1*

II11II、、

*******〃<<end];

cout<〈〃請(qǐng)輸入菜單項(xiàng)選擇項(xiàng):z,?cndl;

)

);

查g-W

1fi

2k自

顯?f

-d心

統(tǒng)

3計(jì)

熊s

4!

請(qǐng)輸入菜單選項(xiàng):

圖3.4

4.管理員進(jìn)入界面,如圖3.5所示。

voiddisplay()

SetConsoleTextAttribute(GetStdllandle(STD_Ol'TPUTJIANDLE),FOREGROUND,INTENSITY

I'OREGROLNDRED);

,?//

((J1II\\*T**J**7**T^*T**7**T**^**^**1**7**T**T**^**T**J**T**T**^**^**1**7**T**T**?*

.「乙、/、*T*

cout<<1:增長(zhǎng)車(chē)次信息!〃;

cout<<,,\n2:修改車(chē)次信息!〃;

cout<<,,\n3:查找車(chē)次!〃;

cout<<,,\n4:顯示車(chē)次信息!〃;

cout〈〈〃\n5:刪除車(chē)次信息!〃;

cout<<?,\n6:刪除所有車(chē)次信息!〃;

cout<<?,\n7:列車(chē)記錄〃;

cout<<"\n8:退出!"<<endl;

0^|[〈〈j|C5|C5|C5^?|C5!C5|C5J*r{Cr|C5|C5|Cr^Cr|Cr^C5|C5J*r|C5|C5|C5|Cr^C5|*5|C5^C?|C5|C5|Cjjwr^Cj|C5!C5|C?|C5!C5|C5J*r|Cr|C5|C5|Cr|C5|C5|Cr^C^jCr|Cr^C5|C5}%5{Cr|C5|Cj|C5J*r^C?|C5|Cj|Cr|Cr|C5|C5J*r|C

*******〃<<endl;

cout<<〃請(qǐng)輸入菜單項(xiàng)選擇項(xiàng):,,?endl;

S碼2

請(qǐng)

一45

登.)

增加

1息

2息

3找

4示

5縻

6I-息

統(tǒng)

7玉

8

!

青輸入菜單選項(xiàng):

3.5

主函數(shù)的設(shè)計(jì)

在這次程序的設(shè)計(jì)中,我們重要進(jìn)行模塊化程序,構(gòu)造主函數(shù),將各個(gè)模塊進(jìn)行用類(lèi)串

連,互相嵌套,主函數(shù)中循環(huán)調(diào)用類(lèi)的對(duì)象,在主菜單中再調(diào)用了函數(shù),從而來(lái)實(shí)現(xiàn)各自不

一樣的功能。子功能完畢后回到主菜單項(xiàng)選擇擇功能鍵進(jìn)行下一項(xiàng)操作。

在主函數(shù)中,程序運(yùn)行后進(jìn)入主菜單后,進(jìn)行日勺第一種操作是進(jìn)行供能的選擇,由于本

程序沒(méi)有應(yīng)用文獻(xiàn)對(duì)數(shù)據(jù)進(jìn)行保留。其重要代碼如下:

voidmain()

(

chari;

charc;

charn[20];

welcome();

weihuleia,*w=NCLL;

NODE*k=NULL;

do{

mainmenuO:

cin>>c;

switch(c)

(

case'1':

(

w=&a;w->xianshi();

do{

display();

i=gctch();

switch(i)

{

case'1{a.gongneng(k);break;}

case,2':{a.gongneng(n);break;}

case'3':{chaxunleib(a);b.gongneng();break;}

case'4':{a.gongneng();break;)

case'5':{a.del(k);break;}

case'6':{a.del0;break;}

case'7':{tongjileic(a);c.gongneng();break;}

case'8':{cout<<“謝謝使用本系統(tǒng)!〃<<endl;break;}

default:{cout<〈”輸入錯(cuò)誤!,,<<endl;break;}

}

}while(i!=,8?);break:

case*2':

(

chaxunlei1(a);

\v-&l;

do{

w->xianshi();

i=gctch();

switch(i)

{

case'1':{chaxunleib(a);b.gongnengO;break;}

case'2':{a.gongneng();break;}

case>3':{tongjileic(a);c.gongnengO;break;}

case'4':{cout<<〃謝謝使用本系統(tǒng)!〃<<endl;bre本;}

default:{cout<<"輸入錯(cuò)誤!,/<<endl;break;}

}

}while(i!=,4*);break;

)

case'3':{cout<〈”謝謝使用本系統(tǒng)!”<<endl;break;}

default:{cout<<"輸入錯(cuò)誤!*?endl;break;}

}while(c!=,3,);

333各功能模塊實(shí)現(xiàn)

1.增長(zhǎng)功能的詳細(xì)代碼如下,運(yùn)用鏈表創(chuàng)立時(shí),首先*p二hMd(hcad->=NULL),然后qnew

NODE;再讀入數(shù)據(jù)信息q->ncxt=p,q->ncxt=NULL,測(cè)試過(guò)程如圖3.6所示。

voidgongneng(NODE*n)

(

q=newNODE;

q->next=p;

n=p=q;

cout?〃通過(guò)起點(diǎn)站名稱(chēng):〃;

cin?p->n;

cout?!ㄍㄟ^(guò)終點(diǎn)站名稱(chēng):〃;

cin>>p->m;

cout<<〃車(chē)次號(hào)碼:〃;

cin>>p->num;

cout?〃發(fā)車(chē)時(shí)間:〃;

cin?p->time;

青曾H單項(xiàng)

W蓑站

爾終站票

車(chē)號(hào)

麥時(shí)

1

:1。

息!

=

_

息!

f:

_

a

一裹!

所室!

若信a

統(tǒng)

!

沆陽(yáng)

稱(chēng).

站名

終點(diǎn)

逕堪

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論