面向?qū)ο笳n程設(shè)計(jì)報(bào)告--列車(chē)車(chē)票管理系統(tǒng)_第1頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告--列車(chē)車(chē)票管理系統(tǒng)_第2頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告--列車(chē)車(chē)票管理系統(tǒng)_第3頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告--列車(chē)車(chē)票管理系統(tǒng)_第4頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告--列車(chē)車(chē)票管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

1、-. z課程設(shè)計(jì)課程名稱(chēng)面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)題目名稱(chēng)列車(chē)車(chē)票管理系統(tǒng)專(zhuān)業(yè)班級(jí)2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生*指導(dǎo)教師二一一年十二月二十二日-. z學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)任務(wù)書(shū)課程面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)班級(jí)2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師題目列車(chē)車(chē)票管理系統(tǒng)完成時(shí)間2011年11月30日至2011年12月23日主要容根本功能要求:實(shí)現(xiàn)簡(jiǎn)單的列車(chē)車(chē)票管理系統(tǒng),可以對(duì)列車(chē)的車(chē)票進(jìn)展簡(jiǎn)單的錄入、刪除、修改和查找等功能,乘客還可以預(yù)訂車(chē)票,管理員可以查找乘客的信息等功能乘客:查詢(xún)車(chē)票情況根據(jù)車(chē)次預(yù)定車(chē)票顯示全部車(chē)票信息管理員:查詢(xún)車(chē)票情況錄入、修改、刪除車(chē)票情況,顯示全部車(chē)票刪除乘客的信

2、息,查找乘客的信息和顯示乘客的信息設(shè)計(jì)報(bào)告要求1封面2課程設(shè)計(jì)任務(wù)書(shū)3. 分工協(xié)作說(shuō)明4. 成績(jī)?cè)u(píng)定表5課程設(shè)計(jì)報(bào)告系統(tǒng)總體方案設(shè)計(jì)思路和主要步驟各功能模塊和流程圖設(shè)計(jì)代碼心得體會(huì)和參考資料說(shuō)明:學(xué)生完成課程設(shè)計(jì)后,提交軟件及課程設(shè)計(jì)電子和紙質(zhì)版,要求報(bào)告文字通暢、字跡工整,文字不少于3000字,并按要求裝訂成冊(cè)。版面要求1.題目用黑體三號(hào),段后距18磅或1行,居中對(duì)齊;2.標(biāo)題用黑體四號(hào),段前、段后距6磅或0.3行;3.正文用小四號(hào)宋體,行距為1.25倍行距;4.標(biāo)題按一、1、順序編號(hào)。-. z學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)成績(jī)?cè)u(píng)定表工程權(quán)重分值具體要求得分文獻(xiàn)閱讀與調(diào)查論證0.20100能

3、獨(dú)立查閱文獻(xiàn)和從事其它調(diào)研活動(dòng);有收集、加工各種信息的能力設(shè)計(jì)質(zhì)量0.30100設(shè)計(jì)合理、功能齊備,程序運(yùn)行正常,實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)確可靠;有較強(qiáng)的實(shí)際動(dòng)手能力論文撰寫(xiě)質(zhì)量0.20100設(shè)計(jì)說(shuō)明書(shū)完全符合規(guī)化要求,用A4復(fù)印紙打印成文學(xué)習(xí)態(tài)度0.20100學(xué)習(xí)態(tài)度認(rèn)真,科學(xué)作風(fēng)嚴(yán)謹(jǐn),嚴(yán)格按要求開(kāi)展各項(xiàng)工作,按期完成任務(wù)學(xué)術(shù)水平與創(chuàng)新0.10100設(shè)計(jì)有創(chuàng)意,有一定的學(xué)術(shù)水平或?qū)嵱脙r(jià)值總分評(píng)語(yǔ):這次程序設(shè)計(jì)試驗(yàn)增加了我們對(duì)程序設(shè)計(jì)在實(shí)踐上的認(rèn)識(shí),熟練了類(lèi)和對(duì)象還有鏈表的使用,尤其是考慮到大量數(shù)據(jù)時(shí)插入刪除操作此種數(shù)據(jù)構(gòu)造對(duì)運(yùn)行時(shí)間上的節(jié)省和方便。在編譯的過(guò)程中有發(fā)現(xiàn)一些錯(cuò)誤,比方?jīng)]有定義等眾多錯(cuò)誤,所以

4、編譯一直不成功,后來(lái)經(jīng)過(guò)對(duì)程序的仔細(xì)閱讀,弄懂了哪里沒(méi)有定義上,修改正來(lái)后,編譯才成功了;還有,很多地方?jīng)]有提示語(yǔ)句,讓人不容易理解;一開(kāi)場(chǎng)進(jìn)入頁(yè)面也不是很清楚明了,頁(yè)面布局也不夠完善,經(jīng)過(guò)教師的指導(dǎo),后期我們經(jīng)過(guò)了很多的改正,當(dāng)然還有很多的缺乏之處,還望教師指正,讓我們能進(jìn)一步的提高。等級(jí):指導(dǎo)教師:年月日-. z目錄TOC o 1-4 h u HYPERLINK l _Toc14959 目錄 PAGEREF _Toc14959 1 HYPERLINK l _Toc170 列車(chē)車(chē)票管理系統(tǒng) PAGEREF _Toc170 1 HYPERLINK l _Toc5750 一、需求與功能分析 PA

5、GEREF _Toc5750 1 HYPERLINK l _Toc8331 二、概要設(shè)計(jì) PAGEREF _Toc8331 1 HYPERLINK l _Toc20749 一、系統(tǒng)框架圖 PAGEREF _Toc20749 1 HYPERLINK l _Toc32693 二、系統(tǒng)類(lèi)圖 PAGEREF _Toc32693 1 HYPERLINK l _Toc17633 三、程序運(yùn)行與測(cè)試結(jié)果 PAGEREF _Toc17633 1 HYPERLINK l _Toc27522 一、調(diào)試中的問(wèn)題和解決方法 PAGEREF _Toc27522 1 HYPERLINK l _Toc1079 二、調(diào)試結(jié)果

6、 PAGEREF _Toc1079 1 HYPERLINK l _Toc9725 1、用戶(hù)注冊(cè) PAGEREF _Toc9725 1 HYPERLINK l _Toc2026 2、主菜單 PAGEREF _Toc2026 1 HYPERLINK l _Toc11161 3、車(chē)票錄入 PAGEREF _Toc11161 1 HYPERLINK l _Toc18073 4、車(chē)票瀏覽 PAGEREF _Toc18073 1 HYPERLINK l _Toc31774 5、車(chē)票查詢(xún) PAGEREF _Toc31774 1 HYPERLINK l _Toc15858 6、車(chē)票刪除 PAGEREF _To

7、c15858 1 HYPERLINK l _Toc12161 7、車(chē)票修改 PAGEREF _Toc12161 1 HYPERLINK l _Toc23330 8、購(gòu)票 PAGEREF _Toc23330 1 HYPERLINK l _Toc9982 9、保存 PAGEREF _Toc9982 1 HYPERLINK l _Toc10269 四、總結(jié)與展望 PAGEREF _Toc10269 1 HYPERLINK l _Toc17371 五、程序代碼 PAGEREF _Toc17371 1 HYPERLINK l _Toc27582 六、致 PAGEREF _Toc27582 1 HYPER

8、LINK l _Toc14701 七、參考文獻(xiàn) PAGEREF _Toc14701 1列車(chē)車(chē)票管理系統(tǒng)一、需求與功能分析時(shí)代在開(kāi)展,計(jì)算機(jī)軟件和系統(tǒng)日趨成熟并應(yīng)用于各行各業(yè)。在中國(guó),火車(chē)票的出售與管理一直是一個(gè)難題,而建立一個(gè)火車(chē)票訂票管理系統(tǒng)是一個(gè)很好的解決方法。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)火車(chē)票信息進(jìn)展管理,具有手工管理所無(wú)法比較的優(yōu)點(diǎn),例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、性好、出錯(cuò)率低等各種優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能大大提高列車(chē)信息管理的效率,也正表達(dá)了火車(chē)票的科學(xué)化正規(guī)管理。我的這個(gè)系統(tǒng)采用的編程語(yǔ)言是C+,實(shí)現(xiàn)了以下功能:1、可操作的界面2、錄入、修改、刪除、查找列車(chē)車(chē)票信息

9、3、訂票、退票功能二、概要設(shè)計(jì)一、系統(tǒng)框架圖二、系統(tǒng)類(lèi)圖三、程序運(yùn)行與測(cè)試結(jié)果一、調(diào)試中的問(wèn)題和解決方法在編譯的過(guò)程中有發(fā)現(xiàn)一些錯(cuò)誤,比方?jīng)]有定義等,所以編譯一直不成功,后來(lái)經(jīng)過(guò)對(duì)程序的仔細(xì)閱讀,弄懂了哪里沒(méi)有定義上,修改正來(lái)后,編譯就一下成功了。二、調(diào)試結(jié)果1、用戶(hù)注冊(cè)2、主菜單車(chē)票錄入4、車(chē)票瀏覽5、車(chē)票查詢(xún)6、車(chē)票刪除7、車(chē)票修改8、購(gòu)票9、保存四、總結(jié)與展望這次課程設(shè)計(jì)的容用到了上學(xué)期學(xué)到的面向?qū)ο缶幊?,我選擇的面向?qū)ο笳Z(yǔ)言是學(xué)過(guò)的C+,選擇的題目是列車(chē)車(chē)票管理系統(tǒng)。一開(kāi)場(chǎng)選到這個(gè)題目,我就初步開(kāi)場(chǎng)做需求和功能分析,把這個(gè)系統(tǒng)的需求和功能劃分為:擁有良好簡(jiǎn)易的操作界面、對(duì)列車(chē)車(chē)票信息進(jìn)

10、展增刪改查等操作和車(chē)票的訂購(gòu)?fù)擞嗊@些功能。定義了存放列車(chē)信息的類(lèi)Bus_infor,用這個(gè)類(lèi)來(lái)完成所需要的需求功能,可是我很快就發(fā)現(xiàn)了,直接用這個(gè)類(lèi)來(lái)做按條件查找,刪除、修改、添加這些操作實(shí)在太麻煩,于是我想到了數(shù)據(jù)構(gòu)造中的鏈表這個(gè)數(shù)據(jù)構(gòu)造,這個(gè)系統(tǒng)用這個(gè)構(gòu)造剛剛好。于是我又編寫(xiě)了另外一個(gè)類(lèi)Bus_link,在這個(gè)類(lèi)中,我把Bus_infor做成鏈表里的元素,編寫(xiě)了一系列的函數(shù),這樣增刪改查這些操作就可以在鏈表中實(shí)現(xiàn)了。經(jīng)過(guò)仔細(xì)地檢查錯(cuò)誤,修改容之后,再經(jīng)過(guò)各種測(cè)試,總算把這個(gè)系統(tǒng)給做完了。但是由于能力有限,還沒(méi)有深入學(xué)習(xí)MFC等圖形界面的知識(shí),所以沒(méi)能把整個(gè)系統(tǒng)的界面做得更漂亮一點(diǎn)。相信在以

11、后的學(xué)習(xí)中,我能不斷地提高,做出更好的設(shè)計(jì)。通過(guò)這次課程設(shè)計(jì),更加深入對(duì)C+方面的程序設(shè)計(jì)的了解,尤其是它在面向?qū)ο蟮木幊趟枷氲膽?yīng)用,并通過(guò)這次的不斷發(fā)現(xiàn)問(wèn)題,解決問(wèn)題的過(guò)程,學(xué)到了不少東西。五、程序代碼#include #include #include using namespace std; class Bus_infor/列車(chē)信息int No; static int Bus_No;/給錄入的車(chē)次默認(rèn)編號(hào)char start20;/起點(diǎn)站char end20;/終點(diǎn)站int Bus_order20;/車(chē)次號(hào)int all_tickted;/車(chē)的額定載量int tickted;/已訂票數(shù)i

12、nt Hour_start, Minute_start, Hour_end, Minute_end;/發(fā)車(chē)時(shí)間,行車(chē)時(shí)間public:Bus_infor *ne*t; Bus_infor(); Bus_infor(); int Get_no(); int Get_all_tickted(); int Get_tickted(); int Get_bus_order(); char *Get_start(); char *Get_end(); void addr(); void Order_tickt(int n); void Unorder_tickt(int n); void GetTime

13、_start(); void GetTime_end(); void ShowTime(); void input();void input(ifstream & is);void output();void output(ofstream & os);void Bus_infor: input()/錄入車(chē)票信息coutendl*錄入車(chē)票信息*endl;coutt請(qǐng)按提示輸入:endl;coutt把列車(chē)的載客量規(guī)定為車(chē)次號(hào)endlendl;coutall_tickted; GetTime_start(); GetTime_end(); addr(); void Bus_infor: input

14、(ifstream & is)/數(shù)據(jù)流的寫(xiě)入(主要是列車(chē)車(chē)票信息) isBus_order20 start end all_tickted tickted Hour_start Minute_start Hour_end Minute_end; is.get(); void Bus_infor: output()/輸出車(chē)票信息coutendl*車(chē)票信息瀏覽*endl;cout列車(chē)車(chē)票根本信息如下:endlendl; cout車(chē)次:Bus_order20endl發(fā)車(chē)時(shí)間:Hour_start: Minute_startendl 起點(diǎn)站:start endl終點(diǎn)站:end endl行車(chē)時(shí)間:Hou

15、r_end: Minute_end endl額定載量:all_ticktedendl已訂票數(shù):ticktedendlendl; void Bus_infor:output(ofstream & os)/數(shù)據(jù)流的寫(xiě)出os車(chē)次:Bus_order20endl setw(6)起點(diǎn)站:startendl setw(6)終點(diǎn)站:endendl setw(6)發(fā)車(chē)時(shí)間:Hour_start: Minute_startendl setw(6)行車(chē)時(shí)間:Hour_end: Minute_endendl setw(6)額定載量:all_ticktedendl setw(6)已訂票數(shù):ticktedendlend

16、l; int Bus_infor:Bus_No=1; void Bus_infor:GetTime_start()/輸入發(fā)車(chē)時(shí)間int NewH=0,NewM=0; cout輸入發(fā)車(chē)時(shí)間(數(shù)字):NewHNewM; Hour_start=NewH; Minute_start=NewM; void Bus_infor:GetTime_end()/輸入行車(chē)時(shí)間int NewH=0,NewM=0; cout輸入行車(chē)時(shí)間(數(shù)字):NewHNewM; Hour_end=NewH; Minute_end=NewM; void Bus_infor:ShowTime()/顯示時(shí)間coutHour_start:

17、Minute_start ; coutHour_end:Minute_end ; Bus_infor:Bus_infor()/列車(chē)車(chē)票信息No=Bus_No+; tickted=0; Bus_infor:Bus_infor()Bus_No-; void Bus_infor:addr()/起點(diǎn)站與終點(diǎn)站cout輸入起點(diǎn)站與終點(diǎn)站(數(shù)字或字母):a;cinb; strcpy(start,a);strcpy(end,b); char *Bus_infor:Get_start()/返回起點(diǎn)站return start; char *Bus_infor:Get_end()/返回終點(diǎn)站return end;

18、 int Bus_infor:Get_no()/返回*一票信息return No; int Bus_infor:Get_all_tickted()/返回車(chē)次額定載客量return all_tickted; int Bus_infor:Get_tickted() /返回已訂車(chē)票return tickted; int Bus_infor:Get_bus_order()/返回車(chē)票信息return Bus_order20; void Bus_infor:Order_tickt(int n)/訂票tickted=tickted+n; void Bus_infor:Unorder_tickt(int n)

19、 /退票tickted=tickted-n; class Bus_link public: Bus_link()head=new Bus_infor;head-ne*t=NULL;key=0;void input();/ 輸入void mend();/ 修改void del();/ 刪除int find(Bus_infor *p,int num,char *pn);/查詢(xún)車(chē)票信息int find1(Bus_infor *p,int num,char *pn);/退票查找void found(); void show(); void Order();/訂購(gòu)車(chē)票void Unorder(); /退

20、還車(chē)票void save();/保存信息void begin(); void clear(); char mainmenu(); int getkey()return key; void setkey(int k) key=k; private: Bus_infor *head;/類(lèi)對(duì)象作為鏈表的頭指針int key; ; void Bus_link:input() /輸入車(chē)票信息Bus_infor *p,*p2=NULL; p=head; int n; while(p-ne*t) p=p-ne*t;/令p指向其前驅(qū)while(n) p2=new Bus_infor; p2-input();

21、p-ne*t=p2; p2-ne*t=NULL; p=p-ne*t; Bus_link:setkey(1); coutn; void Bus_link:Order() /購(gòu)票Bus_infor *p; coutendl*車(chē)票預(yù)訂*endl;cout確定購(gòu)票(y/n)*; if(*=y) int num; coutnum; if( !find1(&p,num,) ) couttt找不到您要訂的車(chē)票的信息!endl; return; coutn; p=p-ne*t;if(p-Get_tickted()+n)Get_all_tickted() p-Order_tickt(n); coutt預(yù)訂成功,

22、使用endl; else coutt對(duì)不起,沒(méi)有足夠的票數(shù)。endl; else if(*=n) coutt使用endl; else coutt輸入字符不確定endl; Bus_link:setkey(1); void Bus_link:Unorder()/退票Bus_infor *p;coutendl*退還車(chē)票*endl;cout確定退票(y/n)*; if(*=y) int num; coutnum; if( !find1(&p,num,) ) couttt找不到您要退的車(chē)票的信息!endl; return; coutn; p=p-ne*t; if(p-Get_tickted()-n)=0

23、) p-Unorder_tickt(n);coutt退票成功,使用endl;else coutt對(duì)不起,數(shù)據(jù)出錯(cuò)!。endl; else if(*=n) coutt使用endl; else coutt輸入字符不確定endl; Bus_link:setkey(1); void Bus_link:found() /查尋車(chē)票Bus_infor *p; int num=-1,n=0;char name20=; coutendl*車(chē)票信息查詢(xún)*endl;coutsetw(20)num; if(!find(&p,num,name) couttt找不到您要查詢(xún)的信息!ne*t) (*p1)=p; if( (

24、p-ne*t)-Get_bus_order()=num|!strcmp( (p-ne*t)-Get_end(),pn ) ) (p-ne*t)-output(); t=1; break; p=p-ne*t; return t; int Bus_link:find1(Bus_infor *p1,int num,char *pn) Bus_infor *p; p=head; int t=0; while(p-ne*t) (*p1)=p; if( (p-ne*t)-Get_bus_order()=num|!strcmp( (p-ne*t)-Get_end(),pn ) ) return 1; p=p

25、-ne*t; return 0; void Bus_link:del()/刪除車(chē)票信息coutendl*刪除車(chē)票信息*endl;Bus_infor *p,*p2; int num; coutnum; if( !find(&p,num,) ) couttt找不到您要?jiǎng)h除的容!ne*t; p-ne*t=p2-ne*t;/刪除并釋放結(jié)點(diǎn)delete p2; Bus_link:setkey(1); coutt車(chē)票信息刪除成功ne*t) (p-ne*t)-output(); p=p-ne*t; void Bus_link:mend() /修改車(chē)票信息coutendl*車(chē)票信息修改*endl;Bus_in

26、for *p; int num=-1; char name20=; coutnum; if( !find1(&p,num,name) ) couttt找不到您要修改的容!ne*t)-output(); (p-ne*t)-input(); Bus_link:setkey(1); void Bus_link:save() /保存文件coutendl*保存文件*ne*t) (p-ne*t)-output(os); p=p-ne*t; coutt文件已保存至bus.t*t中! nt使用num; is.seekg(t); if(numinput(is); p-ne*t=p2; p2-ne*t=NULL;

27、 p=p-ne*t; void Bus_link:clear() /清空Bus_infor *p,*p2; p=head-ne*t; while( p ) p2=p; p=p-ne*t; delete p2; char Bus_link:mainmenu() /返回主菜單system(color 3E);/DOS顏色變換coutendlendl;cout歡送使用車(chē)票管理系統(tǒng)endlendl; coutsetw(48)1. 錄入車(chē)票信息 2. 瀏覽車(chē)票信息endl setw(48)3. 查詢(xún)車(chē)票信息 4. 刪除車(chē)票信息endl setw(48)5. 修改車(chē)票信息 6. 訂購(gòu)車(chē)票信息endl se

28、tw(48)7. 退還車(chē)票信息 8. 保存車(chē)票信息endl setw(27)0: 退出系統(tǒng)endlendlendl 請(qǐng)選擇功能按鈕(0-8):; return 0; int main() /主函數(shù)Bus_link pp; system(color 2E);char r20;/用戶(hù)名char s20;/密碼char S20;/密碼確認(rèn)coutendl;coutsetw(22)*歡送使用列車(chē)車(chē)票管理系統(tǒng)*endlendl;coutsetw(28)*用戶(hù)注冊(cè)*endlendl;coutr;couts;coutS;if(strcmp(s,S)!=0)coutt密碼輸入不符,注冊(cè)失敗,使用!endl;e*it(0);if(strcmp(s,S)=0)system(cls);coutendl;cout*恭喜你注冊(cè)成功*endl;char wo;coutendlendlendl;cout按任意字母鍵進(jìn)入登陸界面wo;system(cls);char h20;char t20;for(int m=0;m3;m+)coutendl;coutsetw(24)*歡送使用列車(chē)車(chē)票管理系統(tǒng)*endlendl;couth;coutt;system(cls);if(strcmp(r,h)=0&strcmp(s,t)=0)coutendlendl; cout 登陸中,請(qǐng)稍等.endl

溫馨提示

  • 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)論