




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、課程設(shè)計(jì)的原始資料及根據(jù)
查閱有關(guān)資料,深入理解面向?qū)ο蟪绦蛟O(shè)計(jì)『、J思想,并編寫一種簡樸『、Jwindows系統(tǒng)。
通過本設(shè)計(jì)可以加深理解使月面向?qū)ο蟪绦蛟O(shè)計(jì)思想開發(fā)一種系統(tǒng)口勺措施,提高分析問題、
處理問題和實(shí)際動(dòng)手的能力。
二、課程設(shè)計(jì)重要內(nèi)容及規(guī)定
設(shè)計(jì)內(nèi)容:
查詢:為對(duì)車次信息口勺查詢和對(duì)車票信息口勺查詢。
車次信息包括:日期、車次、出發(fā)地、目口勺地。車次信息只容許乘客查詢,不能修改。
記錄應(yīng)包括:日期、車次、出發(fā)地、目的地。
設(shè)計(jì)規(guī)定:
(1)規(guī)定運(yùn)用面向?qū)ο罂谏状胧┩戤呄到y(tǒng)的設(shè)計(jì);
(2)規(guī)定在設(shè)計(jì)的過程中建立清晰口勺類層次,并畫出類圖;
(3)設(shè)計(jì)功能滿足規(guī)定、易于操作日勺友好界面;
(4)界面中需有菜單、工具欄、狀態(tài)欄;
(5)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制:繼承、多態(tài)等;
(6)在完畢該題目時(shí),小組人員進(jìn)行詳細(xì)的任務(wù)分工,并要在匯報(bào)中體現(xiàn)出來。
三、對(duì)課程設(shè)計(jì)闡明書撰寫內(nèi)容、格式、字?jǐn)?shù)的規(guī)定
1.課程設(shè)計(jì)闡明書是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,重要內(nèi)容包括:設(shè)計(jì)題目、設(shè)計(jì)
目的、設(shè)備器材、設(shè)計(jì)原理及內(nèi)容、設(shè)計(jì)環(huán)節(jié)、碰到的問題及處理措施、設(shè)計(jì)總結(jié)、參照文
獻(xiàn)等。一般不應(yīng)少于3000字。
2.在合適位置配合對(duì)應(yīng)的試驗(yàn)原理圖、功能模塊圖、算法流程圖等圖表進(jìn)行闡明。應(yīng)做
到文埋通順,內(nèi)容對(duì)的完整,書寫_L整,裝訶整潔。
3.設(shè)計(jì)總結(jié)部分重要寫本人完畢工作簡介以及自己的J設(shè)計(jì)體會(huì),包括通過課程設(shè)計(jì)學(xué)到
了什么,哪里碰到了困難,處理的措施以及此后的目的I。
4.課程設(shè)計(jì)闡明書手寫或打印均可。手寫要用學(xué)校統(tǒng)一日勺課程設(shè)計(jì)用紙,用黑或藍(lán)黑墨
水工整書寫:打印時(shí)采用A4紙,頁邊距均為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ì)闡明書裝訂次序?yàn)椋悍饷妗⑷蝿?wù)書、成績評(píng)估表、目錄、正文、參照文獻(xiàn)。
四、設(shè)計(jì)完畢后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的規(guī)定
1.完畢“任務(wù)書”中指定的功能,運(yùn)行成果對(duì)於J。
2.課程設(shè)計(jì)闡明書。
五、時(shí)間進(jìn)度安排
次序階段日期計(jì)劃完成內(nèi)容備注
進(jìn)行設(shè)計(jì)準(zhǔn)備,閱讀資料,分析設(shè)計(jì)
1第1天
任務(wù)書,明確設(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天程序答辯,撰寫課程設(shè)計(jì)匯報(bào)
六、重要參照資料(文獻(xiàn))
[1]鄭莉董淵張瑞豐編著.《C++語言程序設(shè)計(jì)》(第4版).北京:清華大學(xué)出版
社.2023
[2]陳維興,林小茶.《C++高級(jí)程序設(shè)計(jì)教程》.北京:清華大學(xué)出版社
[3]譚浩強(qiáng).《C++程序設(shè)計(jì)教程》.北京:中國科學(xué)技術(shù)出版社
[4]王燕.《面向?qū)ο笕丈桌碚撆cC++實(shí)踐》.北京:清華大學(xué)出版社
[5]馬石安,魏文平.主編《VisualC++程序設(shè)計(jì)與應(yīng)用教程》.北京:清華大學(xué)出版
社
[6]王育堅(jiān).主編《VisualC++面向?qū)ο缶幊探坛獭罚ǖ诙妫?北京:清華大學(xué)出版
目錄
摘要錯(cuò)誤!未定義書簽。
第1章緒論錯(cuò)誤!未定義書簽。
1.1C++語言的發(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)功能簡介................................................................4
2.4系統(tǒng)功能模塊圖.............................................................4
第3章詳細(xì)設(shè)計(jì)....................................................5
3.1類設(shè)計(jì)......................................................................5
3.2程序代碼描述...............................................................12
3.3界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)..................................錯(cuò)誤!未定義書簽。
第4章系統(tǒng)測試...................................................24
4.1測試過程中的問題...........................................................24
4.2測試成果闡明...............................................................24
4.3設(shè)計(jì)回憶...................................................................24
結(jié)論............................................................25
致謝...............................................................26
參照文獻(xiàn).............................................................27
第1章緒論
1.1C++語言的1發(fā)展
美國AT&T貝爾試驗(yàn)室的本賈尼?斯特勞斯特盧普(BjarneStroustrup)博士在20世紀(jì)
80年代初期發(fā)明并實(shí)現(xiàn)了C++(最初這種語言被稱作“CwithClasses")。一開始C++是作
為C語言的增強(qiáng)版出現(xiàn)的,從給C語言增長類開始,不停的增長新特性。虛函數(shù)(virtual
function)、運(yùn)算符重載(operatoroverloading)、多重繼承(multipleinheritance)、模
板(template)>異常(exception)、RTTI、命名空間(namespace)逐漸被加入原則。1998
年國際原則組織(ISO)頒布了C++程序設(shè)計(jì)語言的國際原則TSO/IEC1988-1998。C++是具有
國際原則口勺編程語言,一般稱作ANST/ISOC++。
C++語言發(fā)展大概可以分為三個(gè)階段:第一階段從80年代到1995年。這一階段C++語言
基本上是老式類型上的面向?qū)ο笳Z言,并且憑借著靠近C語言口勺效率,在工業(yè)界使用的開發(fā)
語言中占據(jù)了相稱大份額;第二階段從1995年到2023年,這一階段由于原則模板庫(STL)
和后來的Boost等程序庫日勺出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來越多日勺比重性。當(dāng)然,
同步由于Java、C#等語言H勺出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;第三階
段從2023年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++
出現(xiàn)了發(fā)展歷史上又一種新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)
成為當(dāng)今主流程序設(shè)計(jì)語言中最復(fù)雜的一員。
1.2概要設(shè)計(jì)
為了保證系統(tǒng)可以長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)當(dāng)滿足如下的性能
需求。
(1)精確性和及時(shí)性:系統(tǒng)處埋的精確性和及時(shí)性是系統(tǒng)H勺必要性能。系統(tǒng)應(yīng)能及時(shí)并且
精確日勺根據(jù)顧客權(quán)限及所輸入日勺信息做出響應(yīng)。車次歐I數(shù)量和時(shí)間影響顧客的決策活動(dòng),在
系統(tǒng)開發(fā)過程中,必須采用一定的措施保證系統(tǒng)的精確性和及時(shí)性。
(2)易用性:本系統(tǒng)是直接面對(duì)顧客日勺,這就規(guī)定系統(tǒng)提供良好的I顧客接口,易用日勺人機(jī)
交互界面,這就規(guī)定系統(tǒng)應(yīng)當(dāng)盡量使用顧客熟悉的I術(shù)語和中文信息日勺界面,從而保證系統(tǒng)的J
易用性。
(3)安全性:訂票系統(tǒng)中波及到的數(shù)據(jù)是客運(yùn)企業(yè)相稱重要的信息,系統(tǒng)要保證顧客的權(quán)
限,對(duì)于車次等信息顧客只享有查詢服務(wù),不得更改;系統(tǒng)還要提供以便的手段供系統(tǒng)維護(hù)
人員進(jìn)行數(shù)據(jù)備份、以及平常安全管理等工作。
1.3功能分析
(1)查詢?yōu)閷?duì)車次信息的查詢和對(duì)車票信息H勺查詢。
車次信息包括:日期、車次、出發(fā)地、目口勺地。車次信息只容許乘客查詢,不能修改。
記錄應(yīng)包括:日期、車次、出發(fā)地、目的地。
(2)賬戶管理。
只容許管理人員登錄,管理人員可以修改信息修改的信息包括:日期、車次、出發(fā)地、
目的地。
1.4設(shè)計(jì)分工及編程實(shí)現(xiàn)
本小組課程設(shè)計(jì)是由兩人參與完畢的。我H勺工作是完畢派生類和主函數(shù),完畢操作H勺匯
合和界面操、作基類日勺構(gòu)造為閆浩編寫,該類日勺名稱為weihulei。
編程重要通過四個(gè)環(huán)節(jié):編輯、編譯、鏈接、運(yùn)行調(diào)試。編輯是將自己設(shè)計(jì)好日勺源程序
輸入計(jì)算機(jī)中,生成后綴為.cpp的磁盤文獻(xiàn);編譯是將程序的源代碼轉(zhuǎn)換為機(jī)器語言代碼,
這一過程是計(jì)算機(jī)自動(dòng)執(zhí)行的,我們?nèi)耸强床坏降?;鏈接是將多種源程序文獻(xiàn)以及庫中日勺某
些文獻(xiàn)連在一起,生成一種后綴為為.CXC時(shí)可執(zhí)行文獻(xiàn);運(yùn)行調(diào)試是會(huì)運(yùn)行出一種界面,狀
態(tài)欄會(huì)提醒對(duì)應(yīng)的I信息,如沒有錯(cuò)誤,或者是錯(cuò)誤在哪一行,錯(cuò)誤日勺原因等。程序日勺運(yùn)行和
調(diào)試是一種很困難的過程,但通過本次課設(shè).我們對(duì)本課程的學(xué)習(xí)有了很大的進(jìn)步C
第2章需求分析
2.1系統(tǒng)設(shè)計(jì)目日勺與意義
規(guī)定用C++面向程序設(shè)計(jì)語言編寫車次信息管理系統(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é)生日勺論文寫作能力
5.本次課程設(shè)計(jì)是計(jì)算機(jī)專業(yè)的重要實(shí)踐性教學(xué)環(huán)節(jié)之一,規(guī)定運(yùn)用所學(xué)專業(yè)FI勺有關(guān)知
識(shí),結(jié)合實(shí)際操作與應(yīng)用而進(jìn)行的一次編程綜合能力的訓(xùn)練,意在培養(yǎng)學(xué)生在應(yīng)用軟件程序
設(shè)計(jì)方面,初步掌握處理實(shí)際應(yīng)用問題時(shí)所應(yīng)具有的查閱資料、技術(shù)原則和規(guī)范,以及設(shè)計(jì)
程序、調(diào)試程序、編寫基本軟件等能力,為畢業(yè)設(shè)計(jì)及此后從事專業(yè)有關(guān)的工作打下一定的
基礎(chǔ)。
2.2系統(tǒng)數(shù)據(jù)流圖
實(shí)現(xiàn)日勺重要功能有:
車次信息H勺查詢:輸入查詢車次H勺信息編號(hào)或站點(diǎn);車次信息H勺添加功能:添加的信息
有車次編號(hào),起點(diǎn)站和終點(diǎn)站;車次信息日勺查詢功能:查詢車次的所有信息;車次信息的修
改功能,任意修改所有信息;;車次信息H勺刪除功能:刪除所rr或個(gè)別車次信息。
圖2.1系統(tǒng)數(shù)據(jù)流圖
2.3系統(tǒng)功能簡介
此程序名稱為《車次信息管理系統(tǒng)》,顧名思義,這是一種可以管理列車基本信息日勺一種
基本程序,它可以實(shí)現(xiàn)簡樸的列車信息查詢和管理車次信息以及查看等功能,詳細(xì)有如下功
能:
1.為了讓程序開始界面一目了然,使得程序更輕易操作,故再次設(shè)計(jì)了顧客登陸界面。
2.重要功能還是車次信息的管理與維護(hù),包括有:增長車次信息、刪除車次信息、修改
車次信息。其中車次信息包括路過各站點(diǎn)日勺名稱及時(shí)間。
3.當(dāng)然作為一種信息日勺管理系統(tǒng),另一項(xiàng)重要日勺功能就是車次日勺查詢系統(tǒng),本程序設(shè)計(jì)
了查詢時(shí)可實(shí)現(xiàn)按站名查詢、按車次查詢,并且提供站一站查詢。
4.最終一項(xiàng)功能即為列車記錄,即輸入一種站名,可記錄通過該站點(diǎn)時(shí)列車數(shù)目,假如
輸入兩個(gè)站名,則可以記錄同步通過這兩個(gè)站點(diǎn)的所有列車數(shù)目。
2.4系統(tǒng)功能模塊圖
本系統(tǒng)『'J輸入輸出為:
1.車次信息錄入
2.車次信息顯示
3.車次信息的刪除
4.車次信息的修改
5.記錄所有車次信息
圖2.2系統(tǒng)功能流圖
第3章詳細(xì)設(shè)計(jì)
3.1類設(shè)計(jì)
類是面向?qū)ο蟪绦蛟O(shè)計(jì)措施的關(guān)鍵,運(yùn)用類可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的封裝和隱藏。
在面向過程時(shí)構(gòu)造化程序設(shè)計(jì)中,程序的模塊是由函數(shù)構(gòu)成的,函數(shù)將邏輯上有關(guān)的語
句與數(shù)據(jù)封裝,用于完畢特定口勺功能。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,程序模塊是由類構(gòu)成的。類
是對(duì)邏輯上有關(guān)的函數(shù)與數(shù)據(jù)口勺封裝,它是對(duì)問題日勺抽象描述。因此,后者H勺集成程度更高,
也就更適用于大型復(fù)雜程序的開發(fā)。類的組員包括數(shù)據(jù)組員和函數(shù)組員,它們分別描述了問
題的屬性和行為,是不可分割日勺兩個(gè)方面。
本系統(tǒng)是對(duì)車次信息功能日勺操作。定義的基類和派生類如下:
1.基類的名稱是weihulei,通過該類,實(shí)現(xiàn)了添加車次信息;顯示車次信息;刪除車次
信息;修改車次信息;顯示車次信息;該類的代碼如下所示:
classweihulei{
public:
NODE*p;
NODE*q:
weihulei()〃構(gòu)造
p二NULL;
)
/**********添力口組員*********/
voidgongneng(NODE*n)〃添加
(
q=newNODE;
q->next=p;
n二p二q;
cout<<〃通過起點(diǎn)站名稱:〃;
cin>>p->n;
cout*〃通過終點(diǎn)站名稱:〃;
cin>>p->m;
cout<(〃車次號(hào)碼:〃;
cin>>p->nuni;
cout式"發(fā)車時(shí)間:”;
cin>>p->time;
}
voidgongneng()〃顯示
(
P二q;
while(p!=NULL)
cout<<〃通過起點(diǎn)站名稱:〃<<p->n<〈endl;
coutV〈”通過終點(diǎn)站名稱:”《p->m<<endl:
cout<〈”車次號(hào)碼:,,<<p->num<<endl;
cout<<“開車時(shí)間:zz<<p->time<<endl;
p=p->next;
)
PF;
)
/**********重載**********/
voiddel(NODE*k)〃刪除
(
k=newNODE;
k=p二q;
charn[20];
cout久〃請輸入車次號(hào)碼://?endl;
cin>>n;
while(p!二NULL&&(strcmp(p->num,n)!=0)!=0)
(
k=p;
p=p->next;
if(p=NULL)
cout<〈"杳無此車(-_-)!!”<<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?〃請輸入車次號(hào)碼:〃<<endl;
cin?n;
whi1e(p!=NULL&&(strcmp(p->num,n)!=0)!=0)
{
p=p->next;
)
if(p==NULL)
{cout<<”查無此車!!,,<<cndl;
}
else
(
cout。”通過起點(diǎn)站名稱:”;
cin>>p->n;
cout<<〃通過終點(diǎn)站名稱:〃;
cin>>p->m;
cout<〈〃車次號(hào)碼:〃;
cin>>p->num;
cout<<“發(fā)車時(shí)間:〃;
cin>>p->time;
cout<<〃按仟意鍵返回!!,z?endl:
/**********簡樸虛函數(shù)**********/
virtualvoidxianshi()
cout<<〃請輸入密碼:〃;
intpassword;
for(inti=0;i<3;i++)
cin>>password;
if(password—123456)
cout<<"登陸成功C_)!"<<endl;
getchO;
return;
elsecout<<〃您輸入的I密碼有誤,請重新輸入:〃;
)
cout?〃三次輸入錯(cuò)誤,拒絕登陸(二-)!〃<〈endl;
while(1){
getchO;
}
);
它『'J數(shù)據(jù)組員包括:NODE*p,*q;
而組員函數(shù)則是包拈:
voidgongneng(NODE*n)/:添加車次信息;
voidgongnengO/:顯示車次信息
voiddel(NODE*k):刪除車次信息;
voidgongncng(charn[20]):修改車次信息;
virtualvoidxianshi():顯示車次信息;
2派生類:查詢類(classchaxunlei:publicweihtlei),它的I重要功能是查詢車次的信
息vogongnengO:查詢車次信息,它歡)詳細(xì)代碼如下所示:
/**********查詢類**********/
classchaxunlei:publicweihulei
!
public:
/不不不不不不不不不不不不不不不不不不不不/'
chaxunlei(weihuleic):weihulei()//構(gòu)造
p=c.p:
q=c.q;
}
/**********杳詢函數(shù)**********/
voidgongnengO〃查詢
p=q;
charn[20];
charm[20];
chari;
cout<<”請選擇查詢方式:1車次查詢;2站名查詢;3站-站查詢\n”;
cin>>i;
if(p==NULL)
(
cout*〃沒有列車信息(-_-)??!〃《cndl;
}
switch(i)
case,1':
cout<<〃請輸入車次號(hào)碼:,z?endl;
cin>>n;
while(p!=NULL)
{
if(strcmp(p->num,n)==0)
(
cout<〈”通過起點(diǎn)站名稱:〃<<p->n<<endl;
cout<<〃通過終點(diǎn)站名稱:〃<<p->m〈<endl;
cout<<“車次號(hào)碼:"<〈p-)num<〈endl;
cout<<”開車時(shí)間:z,?p->time?endl;
}
p=p->next;
)
cout<〈〃按任意鍵返回??!〃<<endl;
return;
}
case,2':
{cout<<〃請輸入站名:〃<<endl;
cin?n;
while(p!=NULL)
if((strcmp(p->n,n)==0)|(strcmp(p->m,n)==0))
{cout<<"通過起點(diǎn)站名稱:〃《p->n〈〈endl;
cout<〈〃通過終點(diǎn)站名稱:〃<<p->ni<<cndl;
cout<〈〃車次號(hào)碼:z,?p->num?endl;
cout<〈〃開車時(shí)間:,z?p->tiine?endl;
)
p=p->next;
)
cout<<〃按任意鍵返回??!〃<Xcndl;
return;
)
case*3':{cout<<〃請輸入起點(diǎn)站名:〃<<endl;
cin?n;
cout<〈〃請輸入終點(diǎn)站名:〃<<endl;
cin>>m;
while(p!二NULL)
(
if((strcmp(p->n,n)~0)&&(strcmp(p->m,m)==0))
{
cout<<"通過起點(diǎn)站名稱:〃《p->n〈(endl;
cout<<"通過終點(diǎn)站名稱:〃?p->m<<endl;
cout《〈”車次號(hào)碼:,,<<p->num<<endl:
cout<<〃開車時(shí)間:,,<<p->time<<endl;
)
p=p->next;
)
cout<<〃按任意鍵返回!!〃<<endl;
return;
)
default:return;
)
)
/**********虛函數(shù)**********/
voidxianshi()
(
y-a.//
II111[\、*J**J**|?*J*Jj%*J^
*******”.
cout<<'\n1:查找車次!
cout<<z,\n2:顯示車次信息!〃:
cout<</z\n3:列車記錄〃;
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<〈〃請輸入菜單項(xiàng)選擇項(xiàng):,,<<endl;
)
);
而派生類日勺功能重要是實(shí)現(xiàn)記錄車次信息日勺功能,它可以輸出車次日勺編號(hào),起點(diǎn)站和終
點(diǎn)站信息。組員函數(shù)為voidgongnen晨):記錄車次信息。詳細(xì)的I代碼如下所示:
classtongjilei:publicweihulei
I
public:
tongjilei(weihuleic):weihulei()//構(gòu)造
(
p=c.p;
q=c.q;
)
voidgongncng()〃記錄
intsm=0;
charn[20]:
cout<<”請輸入站名:,,<<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?〃查無次車;
cout<<〃記錄車次數(shù)目為:〃〈〈snKVendl;
}:
詳細(xì)類的關(guān)系如下圖所示:
圖3.1類圖關(guān)系
3.2數(shù)據(jù)構(gòu)造
自定義數(shù)據(jù)類型:定義了structnode構(gòu)造體類型,其中在weihulei中定義了p和q兩
個(gè)構(gòu)造體,用這兩個(gè)指針類型來進(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)開始界面,如圖3.2所示。
voidwelcome()
(
SetConsoleTextAttribute(GetStdHandle(STDOUTPUT_HANDLE),F0REGR0UND_INTENSITY|
FOREGROUND_GREEN);
cout<<,z$----------------------------------$,z<<endl;
cout<<z,||,z<<endl;
cout?z,|**歡迎進(jìn)入車次信息管理系統(tǒng)**|/,?endl;
cout<<//1|/z<<endl;
cout<<〃@----------------------------------@〃<<endl;
cout<<z,按任意鍵進(jìn)入“〈〈endl;
getchO;
■"E:\MSDev98\MyProjects\f\Debug\f.exe"
神歡迎進(jìn)入車次信息管理系統(tǒng)**
按任意鍵進(jìn)入
圖3.2
2.操作人員類型選擇界面,如圖3.3所示。
voidmainmenu()
cout?/zl.管理員〃<<endl;
cout<<,,2.乘客〃<<cndl;
cout?,,3.退出本系統(tǒng)〃<<endl;
$--------------------------------------$
!”歡迎進(jìn)入車次信息管理系統(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:查找車次!〃;
cout<〈”\n2:顯示車次信息!〃;
cout<<,z\n3:列車記錄〃;
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<〈〃請輸入菜單項(xiàng)選擇項(xiàng):z,?cndl;
)
);
查g-W
1fi
蘭
2k自
顯?f
-d心
統(tǒng)
3計(jì)
熊s
4!
請輸入菜單選項(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:增長車次信息!〃;
cout<<,,\n2:修改車次信息!〃;
cout<<,,\n3:查找車次!〃;
cout<<,,\n4:顯示車次信息!〃;
cout〈〈〃\n5:刪除車次信息!〃;
cout<<?,\n6:刪除所有車次信息!〃;
cout<<?,\n7:列車記錄〃;
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<<〃請輸入菜單項(xiàng)選擇項(xiàng):,,?endl;
一
密
S碼2
請
一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)行用類串
連,互相嵌套,主函數(shù)中循環(huán)調(diào)用類的對(duì)象,在主菜單中再調(diào)用了函數(shù),從而來實(shí)現(xiàn)各自不
一樣的功能。子功能完畢后回到主菜單項(xiàng)選擇擇功能鍵進(jìn)行下一項(xiàng)操作。
在主函數(shù)中,程序運(yùn)行后進(jìn)入主菜單后,進(jìn)行日勺第一種操作是進(jìn)行供能的選擇,由于本
程序沒有應(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.增長功能的詳細(xì)代碼如下,運(yùn)用鏈表創(chuàng)立時(shí),首先*p二hMd(hcad->=NULL),然后qnew
NODE;再讀入數(shù)據(jù)信息q->ncxt=p,q->ncxt=NULL,測試過程如圖3.6所示。
voidgongneng(NODE*n)
(
q=newNODE;
q->next=p;
n=p=q;
cout?〃通過起點(diǎn)站名稱:〃;
cin?p->n;
cout?!ㄍㄟ^終點(diǎn)站名稱:〃;
cin>>p->m;
cout<<〃車次號(hào)碼:〃;
cin>>p->num;
cout?〃發(fā)車時(shí)間:〃;
cin?p->time;
青曾H單項(xiàng)
W蓑站
爾終站票
車號(hào)
麥時(shí)
1
:1。
息!
=
_
息!
f:
_
a
一裹!
所室!
若信a
統(tǒng)
!
沆陽
稱.
站名
終點(diǎn)
逕堪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 核酸與蛋白質(zhì)的合成過程試題及答案
- 動(dòng)物行為學(xué)中的學(xué)習(xí)能力試題及答案
- 高效文檔編輯軟件企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 高效數(shù)控折彎機(jī)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 高壓功率穩(wěn)壓器設(shè)計(jì)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 高效油煙凈化技術(shù)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 酒吧氛圍營造行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 林業(yè)AI智能應(yīng)用行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 高效去污粉與清潔劑行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 記憶角落文化創(chuàng)意企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 急停開關(guān)使用培訓(xùn)課件
- 《期權(quán)的基本知識(shí)》課件
- 6.1認(rèn)識(shí)經(jīng)濟(jì)全球化(上課)公開課
- 購買設(shè)備前的評(píng)估報(bào)告
- 熱固性聚苯板施工方案
- 電梯主機(jī)軸承維修施工方案
- 三年級(jí)下冊口算天天100題(A4打印版)
- 統(tǒng)編版語文四年級(jí)下冊第四單元教材解讀解讀與集體備課課件
- 幕墻開啟扇維修施工方案
- 銷售團(tuán)隊(duì)就該這樣管:五星評(píng)定銷售管理實(shí)戰(zhàn)指南
- 餐飲服務(wù)單位食品安全主體責(zé)任清單
評(píng)論
0/150
提交評(píng)論