版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告</p><p><b> 機(jī)場(chǎng)管理系統(tǒng)</b></p><p> 一.機(jī)場(chǎng)管理系統(tǒng)概述</p><p><b> 1 .1項(xiàng)目背景:</b></p><p> 我的課程設(shè)計(jì)選擇了制作一個(gè)機(jī)場(chǎng)管理系統(tǒng),制作周期歷時(shí)將近兩個(gè)月,從C++、數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)的
2、一開始便著手這項(xiàng)工作,完成的作品基本按時(shí)間可以分為兩大塊:第一部分為訂票系統(tǒng),第二部分為停車場(chǎng)管理系統(tǒng)。</p><p><b> 1 .2需求分析:</b></p><p> 訂票系統(tǒng)是基于兩個(gè)線性鏈表(乘客鏈表以及航線鏈表)的一系列操作的實(shí)現(xiàn),業(yè)務(wù)活動(dòng)包括:查詢、添加航線,客票預(yù)訂和辦理退票等。相對(duì)于書上的訂票系統(tǒng),增加了查詢和客票預(yù)訂功能。</p>
3、;<p> 以鏈表來存放航線以及每條航線上的乘客信息,并且實(shí)現(xiàn)一些列關(guān)于鏈表的相關(guān)操作。每條航線涉及的信息有:終點(diǎn)站名、航班號(hào)、飛機(jī)號(hào)、飛行日期(星期幾)、成員定額、機(jī)票價(jià)格、訂票量、已訂票的客戶名單(包括姓名、訂票量、座位號(hào))。</p><p> 停車場(chǎng)管理是基于雙棧(用于構(gòu)造停車場(chǎng))和鏈?zhǔn)疥?duì)列(當(dāng)停車場(chǎng)滿時(shí),用于充當(dāng)便道,停放需要進(jìn)入停車場(chǎng)的車輛)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)進(jìn)行設(shè)計(jì),主要用于專門提供給載
4、有貨物的運(yùn)輸車輛的停放。通過計(jì)時(shí),進(jìn)行收費(fèi),實(shí)現(xiàn)用戶和系統(tǒng)之間的交互式信息傳遞。</p><p> 以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼以及到達(dá)或離去的時(shí)刻。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和
5、應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。</p><p> 1 .3系統(tǒng)實(shí)現(xiàn)的操作和功能如下:</p><p> 1.3.1訂票系統(tǒng):</p><p> 1、查詢航線:根據(jù)旅客提出的終點(diǎn)站名輸出下列信息:航班號(hào)、飛機(jī)號(hào)、星期幾飛行、剩余票額等信息。</p><p> 2、承辦訂票業(yè)務(wù):根據(jù)客戶提出的要求(航班號(hào),訂票數(shù)額)查詢?cè)摵桨?/p>
6、的票額情況,若尚有余票,則為客戶辦理訂票手續(xù),輸出座位號(hào),若已經(jīng)滿員或者余票額少于訂票額,則做出相應(yīng)的提示。</p><p> 3、承辦退票業(yè)務(wù):根據(jù)客戶提供的情況(航班以及客戶姓名),為客戶辦理退票手續(xù)</p><p> 1.3.2停車場(chǎng)管理系統(tǒng):</p><p> 1、車輛到達(dá):新來車輛時(shí)如果有空位,按順序?yàn)樵撥嚪峙渫\囄唬?</p><
7、;p> 2、車輛離開:車輛開走時(shí),交納相應(yīng)停車費(fèi)實(shí)現(xiàn)計(jì)費(fèi)功能,計(jì)費(fèi)標(biāo)準(zhǔn)為:按時(shí)間計(jì)費(fèi),1.5元/每分(車在便道不計(jì)費(fèi));</p><p> 3、打印車場(chǎng)情況:統(tǒng)計(jì)停車場(chǎng)的停車情況。打印停車場(chǎng)內(nèi)所停車輛的信息。</p><p> 1.3.3機(jī)場(chǎng)路徑查詢系統(tǒng):</p><p> 1、顯示機(jī)場(chǎng)地圖信息:在用戶界面繪制機(jī)場(chǎng)重要地點(diǎn)的標(biāo)識(shí)并且用數(shù)字編號(hào)。<
8、/p><p> 2、輸入查詢路徑的起點(diǎn)終點(diǎn)。</p><p> 3、顯示最短路徑:在機(jī)場(chǎng)地圖界面繪制兩點(diǎn)之間最短的路徑。</p><p> 1.4涉及數(shù)據(jù)結(jié)構(gòu)知識(shí)點(diǎn)</p><p> 1.結(jié)構(gòu)體、指針、多個(gè)類與方法的定義與使用。</p><p><b> 2.線性表的定義</b></p
9、><p> 3.線性表的存儲(chǔ)(順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ))。</p><p> 4.線性表的查找、插入、刪除、按條件排序、遍歷。</p><p> 5.棧與隊(duì)列的定義。</p><p> 6.入棧出棧以及入隊(duì)。</p><p><b> 二、概要設(shè)計(jì):</b></p><p>
10、; 2.1系統(tǒng)的結(jié)構(gòu)圖:</p><p> 2.2抽象數(shù)據(jù)類型定義:</p><p><b> 航空訂票管理:</b></p><p> typedef struct Customer /*航線乘客信息*/</p><p><b> {</b></p>&
11、lt;p> char Name[10]; /*姓名*/</p><p> int Amount; /*定票數(shù)*/</p><p> int IDinfor; /*個(gè)人信息*/</p><p> struct Customer *Next;
12、 /*指向下一乘客結(jié)點(diǎn)*/</p><p> }Customer;</p><p> typedef struct Flight /*航線信息*/</p><p><b> {</b></p><p> char Des_Name[10]; /*終點(diǎn)站名*/
13、</p><p> char Flight_No[6]; /*航班號(hào)*/</p><p> char Plane_No[3]; /*飛機(jī)號(hào)*/</p><p> int Price; /*機(jī)票價(jià)格*/</p><p> int Week_Day;
14、 /*飛行周日*/</p><p> int Customer_Amount; /*乘員定額*/</p><p> int Free_Amount; /*剩余票數(shù)*/</p><p> Customer *CustName; /*該航班的已定票乘客名單*/ </p&
15、gt;<p> struct Flight *Next; /*指示下一航線結(jié)點(diǎn)*/</p><p> }Flight,*PFlight;</p><p> class Flight_Management</p><p><b> {</b></p><p><b> p
16、ublic:</b></p><p> Flight_Management();</p><p> Flight_Management(Flight_Management &F);</p><p> ~Flight_Management();</p><p> void LinemanageMenu();
17、 //航線管理菜單</p><p> void Display_Reserve(); //訂票乘客信息顯示</p><p> void BookingMenu(); //訂票菜單</p><p> void Line_Add();
18、 //添加航線</p><p> void Line_Search(); </p><p> //按航班號(hào)查找航線且打印結(jié)果</p><p> void Line_See(); //顯示所有航線</p><
19、p> int Empty_Flight(); //判斷航線是否為空</p><p> int Find_Line(PFlight L,char *key); //核對(duì)航線是否唯一</p><p> int Find_Line(PFlight L,char *key,PFlight &p2,int &Fl
20、ight_No);</p><p> //按航班號(hào)查找航線且返回標(biāo)志</p><p> int ExitSystem(); //系統(tǒng)退出</p><p> char Continue(); //詢問是否繼續(xù)</p><p> void
21、ErrorMess(); //報(bào)告出錯(cuò)</p><p> void Mainflightmenu(); //航空客運(yùn)訂票系統(tǒng)主菜單</p><p><b> private:</b></p><p> int Customer_Count;
22、 /*所有航線的定票乘客總數(shù)*/</p><p> Flight *Head; /*航線頭指針*/</p><p> Flight *p2; /*航線結(jié)點(diǎn)指針*/</p><p> Customer *Custp1[MAX]; /*各條航線乘客結(jié)點(diǎn)指針*/</p&
23、gt;<p> Customer *Replp1[MAX]; /*各條航線候補(bǔ)結(jié)點(diǎn)指針*/</p><p> int IsEmpty; /*是否有定票乘客*/</p><p> Customer *prior; /*滿足要求的定票乘客的前結(jié)點(diǎn)以作刪除操作</p><p>
24、 void RefundticketMenu();</p><p><b> };</b></p><p><b> 停車場(chǎng)管理:</b></p><p> struct Time</p><p><b> { </b></p><p> in
25、t hour; </p><p><b> int min; </b></p><p> Time& operator=(Time &t);</p><p> }; /*時(shí)間結(jié)點(diǎn)*/</p><p> struct Car
26、 /*棧內(nèi)停放車輛結(jié)點(diǎn)*/</p><p><b> { </b></p><p> string num;</p><p> Time reach; </p><p> Time leave; </p><p><b> };</b>&l
27、t;/p><p> struct carNode /*隊(duì)列停放車輛結(jié)點(diǎn)*/</p><p><b> {</b></p><p> string num;</p><p> carNode *link;</p><p> carNode(string str
28、,carNode *ptr=NULL){num=str;link=ptr;}</p><p><b> };</b></p><p> class Parkstack 停車棧</p><p><b> {</b></p><p><b> priv
29、ate:</b></p><p> struct Car *elements;</p><p> int top; </p><p> int Maxsize; 棧所能容納的最大停放數(shù)</p><p><b> public:</b>
30、</p><p> Parkstack():top(-1),Maxsize(Max)</p><p><b> {</b></p><p> elements=new Car[Maxsize];</p><p> if(elements==NULL) </p><p><b>
31、 {</b></p><p> cout<<"內(nèi)存分配失敗"<<endl;exit(1);</p><p><b> }</b></p><p><b> }</b></p><p> ~Parkstack(){delete []ele
32、ments;}</p><p> void Push(Car x); 車輛入棧</p><p> bool Pop(Car &x); 車輛出站</p><p> bool IsEmpty() 判斷車場(chǎng)是否為空</p><p> {return (top==-1)
33、? true:false;}</p><p> bool IsFull() 判斷車場(chǎng)是否已經(jīng)停滿</p><p> {return (top==Maxsize-1)? true:false;}</p><p> int getSize() const{return (top+1);} 計(jì)算停車場(chǎng)已經(jīng)停放的車輛數(shù)</p>
34、<p> void MakeEmpty(){top=-1;} 停車場(chǎng)置空</p><p> friend void Parkpush(); //車輛進(jìn)場(chǎng)。</p><p> friend void Parkpop(); //車輛出場(chǎng)。</p><p> friend void Waitpop(); //便道上的車輛進(jìn)入
35、停車場(chǎng);</p><p> friend void Show(Parkstack &x,Waitqueue &y);</p><p> //顯示停車場(chǎng)和便道車輛信息。</p><p><b> };</b></p><p> class Hchstack</p><p>
36、 //緩沖棧(該站用于停車場(chǎng)內(nèi)車輛退出時(shí)臨時(shí)存放其他車輛,具體定義與停車?;鞠嗤?lt;/p><p><b> {</b></p><p><b> private:</b></p><p> struct Car *elements;</p><p><b> int top;&
37、lt;/b></p><p> int Maxsize;</p><p><b> public:</b></p><p> Hchstack():top(-1),Maxsize(Max)</p><p><b> {</b></p><p> element
38、s=new Car[Maxsize];</p><p> if(elements==NULL) </p><p> {cout<<"內(nèi)存分配失敗"<<endl;exit(1);}</p><p><b> }</b></p><p> ~Hchstack(){delet
39、e []elements;}</p><p> void Push(Car x);</p><p> bool Pop(Car &x);</p><p> bool IsEmpty() {return (top==-1)? true:false;}</p><p> bool IsFull(){return (top==Max
40、size-1)? true:false;}</p><p> int getSize() const{return (top+1);}</p><p> void MakeEmpty(){top=-1;}</p><p> friend void Parkpop();//車輛出場(chǎng)。</p><p><b> };</b
41、></p><p> class Waitqueue//便道.無頭結(jié)點(diǎn)的鏈?zhǔn)疥?duì)列、</p><p><b> {</b></p><p><b> private:</b></p><p> carNode *front,*rear;</p><p><b
42、> public:</b></p><p> Waitqueue():rear(),front(){};</p><p> ~Waitqueue();</p><p> bool EnQueue(Car x); 車輛入隊(duì)</p><p> bool DeQueue(Car &x); 車
43、輛出隊(duì)</p><p> bool IsEmpty() {return (front==NULL)? true:false;}</p><p> int getSize(); 獲得隊(duì)列中停放車輛數(shù)目</p><p> friend void Parkpush(); //車輛進(jìn)場(chǎng)。</p><p> fri
44、end void Show(Parkstack &x,Waitqueue &y);//打印停車場(chǎng)信息函數(shù)。</p><p> friend void Waitpop(); //便道上的車輛進(jìn)入停車場(chǎng);</p><p><b> };</b></p><p><b> 2.3 文件結(jié)構(gòu):</b>&
45、lt;/p><p> 航空訂票管理:ticket.cpp</p><p> 停車場(chǎng)管理: 停車場(chǎng).h,停車場(chǎng).cpp</p><p><b> 三、詳細(xì)設(shè)計(jì):</b></p><p> 3.1系統(tǒng)的模塊劃分</p><p><b> 3.2 E-R圖:</b></
46、p><p><b> 四、系統(tǒng)的實(shí)現(xiàn):</b></p><p> 4.1 系統(tǒng)關(guān)鍵算法</p><p> 4.1.1對(duì)于航空訂票管理有以下主要的方法實(shí)現(xiàn):</p><p> 因?yàn)轫?yè)數(shù)的限制,再者航空訂票系統(tǒng)書上已經(jīng)有程序,雖然有增加內(nèi)容,但是為了節(jié)省空間,所以這里只列出的函數(shù),沒有寫出具體的程序,看程序可以看源程序。
47、</p><p> 1./*-----------------航線添加函數(shù)-------------*/</p><p> void Flight_Management::Line_Add()</p><p> 2. /*---------------訂票辦理函數(shù)---------------*/</p><p> void Flig
48、ht_Management::BookingMenu()</p><p> 3. /*-----------------退票辦理函數(shù)-----------------*/</p><p> void Flight_Management::RefundticketMenu()</p><p> 4. /*--------------航線查找函數(shù)---------
49、----*/</p><p> /*Find_Line()為重載函數(shù)*/</p><p> 5. /*---------------航班查找函數(shù)---------------*/</p><p> void Flight_Management::Line_Search()</p><p> 6./*-----------------訂
50、票乘客信息-----------------*/</p><p> void Flight_Management::Display_Reserve()</p><p> 4.1.2對(duì)于停車場(chǎng)管理系統(tǒng)有四個(gè)主要的函數(shù):</p><p> 1.車輛到達(dá)時(shí),用于進(jìn)行對(duì)車輛的操作,程序代碼如下:</p><p> void Parkpush(
51、)//車輛進(jìn)場(chǎng)。</p><p><b> {</b></p><p> bool gauge=true;</p><p> cout<<"歡迎光臨!\n請(qǐng)輸入車牌號(hào):(十位以內(nèi))"<<endl;</p><p> cin>>c.num;</p>
52、<p> for(int i=0;i<=P.top;i++)//不讓車輛重復(fù)進(jìn)場(chǎng)</p><p><b> {</b></p><p> if(c.num==P.elements[i].num) </p><p><b> {</b></p><p> cout<
53、<"停車場(chǎng)中已經(jīng)有這輛車,不能重復(fù)進(jìn)場(chǎng)。"<<endl;gauge=false;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(gauge)</b></p><p><
54、;b> {</b></p><p> if(!P.IsFull())//場(chǎng)不滿時(shí),車輛進(jìn)場(chǎng),初始化進(jìn)場(chǎng)時(shí)間</p><p><b> {</b></p><p> P.Push(c);</p><p> cout<<"請(qǐng)輸入進(jìn)場(chǎng)時(shí)間。"<<endl;
55、</p><p> cin>>P.elements[P.top].reach;</p><p> cout<<"您的車輛已存入停車場(chǎng),請(qǐng)放心!按任意鍵返回"<<endl;</p><p><b> getch();</b></p><p><b>
56、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"抱歉。停車場(chǎng)已滿,車輛進(jìn)入便道暫時(shí)停放。按任意鍵返回"<<endl;</p><p> W.EnQueue(
57、c);</p><p><b> getch();</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 2.當(dāng)便道車輛進(jìn)入停車場(chǎng),程序
58、代碼如下:</p><p> void Waitpop()//便道上的車輛進(jìn)入停車場(chǎng);</p><p><b> {</b></p><p> if(!W.IsEmpty()&&!P.IsFull())</p><p><b> {</b></p><p&
59、gt; W.DeQueue(c);</p><p> cout<<"停車場(chǎng)有空位,牌號(hào)為:"<<c.num<<"的車從便道上進(jìn)入停車場(chǎng)。"<<endl;</p><p> P.Push(c);</p><p> cout<<"便道上的車輛進(jìn)入停車場(chǎng),
60、請(qǐng)輸入進(jìn)場(chǎng)時(shí)間。"<<endl;</p><p> cin>>P.elements[P.top].reach;</p><p> //P.elements[P.top].reach=time(NULL);</p><p> cout<<"車輛停放在"<<P.top+1<<
61、"號(hào)車位,按任意鍵返回"<<endl;</p><p><b> getch();</b></p><p><b> }</b></p><p><b> }</b></p><p> 3.車輛出場(chǎng),代碼如下:</p>&l
62、t;p> void Parkpop()//車輛出場(chǎng)。</p><p><b> {</b></p><p> if(P.IsEmpty()) cout<<"停車場(chǎng)中沒有車輛存放。"<<endl;</p><p><b> else</b></p>&l
63、t;p><b> {</b></p><p><b> int i=-1;</b></p><p> string num;</p><p> cout<<"請(qǐng)輸入出場(chǎng)車輛的車牌號(hào):"<<endl;</p><p><b> ci
64、n>>num;</b></p><p> for(int z=0;z<=P.top;z++)</p><p><b> {</b></p><p> if(P.elements[z].num==num) </p><p><b> i=z;</b></p&
65、gt;<p><b> }</b></p><p> if(i==-1) cout<<"停車場(chǎng)中沒有這輛車。"<<endl;</p><p><b> else</b></p><p><b> {</b></p><
66、;p> int j=P.top;</p><p> for(;j>i;j--)//將要出場(chǎng)車前方車輛移動(dòng)到臨時(shí)棧。</p><p><b> {</b></p><p><b> P.Pop(c);</b></p><p> H.Push(c);</p><
67、p><b> }</b></p><p><b> P.Pop(c);</b></p><p> cout<<"請(qǐng)輸入出場(chǎng)時(shí)間。"<<endl;</p><p> cin>>c.leave;</p><p> cout<&
68、lt;"應(yīng)繳車費(fèi)"<<money(c.reach,c.leave)<<"元(1.5元/分鐘)"<<endl; </p><p> while(!H.IsEmpty())//將臨時(shí)棧中的車輛送回停車場(chǎng)。</p><p><b> {</b></p><p><b
69、> H.Pop(c);</b></p><p> P.Push(c);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> Waitpop();
70、</p><p><b> getch();</b></p><p><b> }</b></p><p> 4.顯示停車場(chǎng)信息,代碼如下:</p><p> void Show(Parkstack &x,Waitqueue &y)</p><p>&
71、lt;b> {</b></p><p> if(!P.IsEmpty()) </p><p><b> {</b></p><p> if(!x.IsFull())</p><p><b> {</b></p><p> cout<<
72、"停車場(chǎng)中現(xiàn)有車位"<<Max-x.getSize()<<"個(gè)。"<<endl;</p><p><b> }</b></p><p> cout<<"停車場(chǎng)已停車輛有:"<<endl;</p><p> for(int
73、 i=0; i<=P.top; i++)</p><p><b> {</b></p><p> cout<<P.elements[i].num<<" ";</p><p><b> }</b></p><p> cout<<e
74、ndl;</p><p><b> }</b></p><p> if(x.IsFull()) </p><p><b> {</b></p><p> cout<<"停車場(chǎng)已滿,便道上有"<<y.getSize()<<"輛車
75、等候。"<<endl;</p><p><b> }</b></p><p> cout<<"按任意鍵返回"<<endl;</p><p><b> getch();</b></p><p><b> }</b
76、></p><p> 4.2 系統(tǒng)調(diào)試過程分析:</p><p> ●當(dāng)系統(tǒng)提示“請(qǐng)輸入航班日期(請(qǐng)輸入1—7)”時(shí),若輸入45,系統(tǒng)沒有提示錯(cuò)誤,按要求系統(tǒng)應(yīng)該顯示“日期輸入有誤,請(qǐng)重新輸入”的錯(cuò)誤提示。</p><p> ●經(jīng)過分析代碼得出錯(cuò)誤原因:在結(jié)構(gòu)體的成員變量的定義中,飛行周日的成員變量</p><p> Week_
77、Day的類型定義有問題,開始定義的是 char 型,所以在用戶輸入數(shù)據(jù)時(shí)輸入45時(shí),代碼中的判斷語(yǔ)句 if(p2->Week_Day<1||p2->Week_Day>7)不能識(shí)別錯(cuò)誤。</p><p> ●改正:將Week_Day定義為Int 型變量, </p><p> 原語(yǔ)句中的cin>>p2->Week_Day 改為 cin&
78、gt;>&p2->Week_Day;</p><p> 再次運(yùn)行,該問題得到了解決!</p><p> ●但是又發(fā)現(xiàn)了新的問題:</p><p> 當(dāng)某航線的票已經(jīng)全部定完后,按要求在乘客信息菜單里會(huì)顯示“票已經(jīng)售完”,但是運(yùn)行時(shí)卻顯示的是“還有剩余的票”。</p><p> 經(jīng)過分析代碼得出錯(cuò)誤原因:</p
79、><p> 在訂票乘客信息的函數(shù)Display_Reserve()中的有關(guān)票是否售完的條件語(yǔ)句有問題</p><p> 原來的這段代碼如下:</p><p> while(p2!=NULL)</p><p><b> { </b></p><p> Cout<<p2-&
80、gt;Name<<p1->Flight_No<<p1->Plane_No<<p2->Amount<<p1->Des_Name<<p2->IDinfor;</p><p> if(p2->Amount >=1)</p><p> cout<<"還有多余的票!\n&q
81、uot;;</p><p><b> else</b></p><p> cout<<"票已售完!\n"; </p><p> p2=p2->Next; </p><p><b> }</b></p><p> 其中的有關(guān)票是否
82、售完的條件語(yǔ)句:if(p2->Amount>=1)中的指針p2錯(cuò)誤,</p><p> p2是乘客信息節(jié)點(diǎn)的指針,p2->Amount表示乘客的訂票數(shù)。</p><p> 應(yīng)把該條件語(yǔ)句改為if( p1->Free_Amount>=1)</p><p> p1是航線節(jié)點(diǎn)指針,p1->Free_Amount表示剩余票的數(shù)量&l
83、t;/p><p> 4.3系統(tǒng)運(yùn)行界面賞析:</p><p> 航空訂票系統(tǒng)如圖所示:</p><p><b> 添加航線界面:</b></p><p><b> 查看航線界面:</b></p><p><b> 查詢航線界面:</b></p
84、><p><b> 訂票界面:</b></p><p><b> 退票辦理菜單:</b></p><p><b> 停車場(chǎng)系統(tǒng)主界面:</b></p><p><b> 車輛進(jìn)站界面:</b></p><p> 打印停車場(chǎng)信息
85、界面:</p><p> 車輛出站且便道上的車輛入站:</p><p><b> 五.系統(tǒng)評(píng)價(jià)</b></p><p><b> 5.1系統(tǒng)的特點(diǎn)</b></p><p> 本機(jī)場(chǎng)管理系統(tǒng)覆蓋知識(shí)面較廣,基本涵蓋了c++ 所有的知識(shí)點(diǎn),尤其是對(duì)c++ 類和結(jié)構(gòu)體,以及指針方面進(jìn)行了充分的應(yīng)用
86、。同時(shí)體系結(jié)構(gòu)所采用的線性表以及相關(guān)操作廣泛涉及了數(shù)據(jù)結(jié)構(gòu)的知識(shí)。并且雖然書上已經(jīng)有了航空售票系統(tǒng),但是我在書上的基礎(chǔ)上對(duì)系統(tǒng)有了完善和改進(jìn),增加了一些功能,再加上停車場(chǎng)管理系統(tǒng),完善了機(jī)場(chǎng)的知識(shí)。</p><p><b> 5.2系統(tǒng)的缺點(diǎn)</b></p><p> 由于是第一次做這樣大型的程序,雖然付出了很大的努力,但是最終的作品依然是漏洞百出,問題多多。在這
87、里全面反思一下自己的問題:</p><p> 1.在程序中,很難對(duì)數(shù)據(jù)的輸入做出嚴(yán)格的要求限制,因此當(dāng)輸入錯(cuò)誤的數(shù)據(jù)時(shí),程序會(huì)發(fā)生各種各樣意想不到的結(jié)果。</p><p> 2.沒有用到數(shù)據(jù)庫(kù)的相關(guān)知識(shí),所有輸入的數(shù)據(jù)只能臨時(shí)保存在內(nèi)存中間,一旦程序關(guān)閉以后便完全釋放。這給程序的調(diào)試以及使用都帶來了極大的不便。</p><p> 3.程序的整體框架不夠規(guī)范,對(duì)
88、數(shù)據(jù)在內(nèi)存中具體的存放狀態(tài)沒有充分理解,析構(gòu)函數(shù)寫的不是很完美,總會(huì)有一些被指針創(chuàng)建的空間不能夠徹底刪除釋放。</p><p><b> 六.課程設(shè)計(jì)總結(jié)</b></p><p> 在這兩個(gè)月的課程設(shè)計(jì)中,我真的感覺受益匪淺。對(duì)于我們這些正在學(xué)習(xí)階段的學(xué)生來說,課程設(shè)計(jì)是我們知識(shí)掌握程度的階段性驗(yàn)證,也是為自己增添項(xiàng)目設(shè)計(jì)經(jīng)驗(yàn)的很好機(jī)會(huì)。</p>&
89、lt;p> 本次設(shè)計(jì)極大的提高了我的自主學(xué)習(xí),自主解決問題的能力,從一開始學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識(shí),到后來在編程過程中所需要的課外知識(shí),還有選擇C++編程而沒有選擇C語(yǔ)言,絕大部分來源于互聯(lián)網(wǎng)上查找資料以及向老師的請(qǐng)教之中。</p><p> 設(shè)計(jì)的最基本的應(yīng)該是扎實(shí)的專業(yè)知識(shí)掌握,如果沒有良好的基本功,就會(huì)在設(shè)計(jì)的過程中遇到很多的麻煩,這些麻煩的根源就是知識(shí)水平的局限性,當(dāng)然在設(shè)計(jì)中深刻的體會(huì)到了這一點(diǎn)。
90、</p><p> 最基礎(chǔ)的指針部分我就感覺到自己掌握的比較不扎實(shí),經(jīng)常出現(xiàn)錯(cuò)誤的使用指針,導(dǎo)致一系列內(nèi)存出錯(cuò)的問題。</p><p> 還有對(duì)編程的總體思路不夠清晰,導(dǎo)致程序中出現(xiàn)了不少死循環(huán)的情況。</p><p> 我還深切體會(huì)到我所學(xué)習(xí)的知識(shí)的局限性,感到時(shí)間的緊迫感,由于沒有數(shù)據(jù)庫(kù)的相關(guān)知識(shí),對(duì)數(shù)據(jù)的輸入存儲(chǔ)造成了相當(dāng)大的不便。</p>
91、<p> 總之這次的課程設(shè)計(jì),使我進(jìn)一步完善了我的數(shù)據(jù)結(jié)構(gòu)知識(shí),我會(huì)不斷的提升自己的專業(yè)知識(shí)水平,相信我會(huì)在自己的計(jì)劃中成就自己。</p><p><b> 七.參考文獻(xiàn):</b></p><p> [1] 王暉 編著 《精通Visual C++ 6.0》 電子工業(yè)出版社</p><p> [2] 鄭莉 董淵 張瑞豐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航班管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---員工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---員工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--車庫(kù)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生籍貫管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書借閱管理系統(tǒng)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--個(gè)人賬簿管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----倉(cāng)庫(kù)管理系統(tǒng)統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——公司職工管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-圖書管理系統(tǒng)
- 職工管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---個(gè)人書籍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論