數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)模擬停車場(chǎng)管理問題_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)模擬停車場(chǎng)管理問題_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)模擬停車場(chǎng)管理問題_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)模擬停車場(chǎng)管理問題_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)模擬停車場(chǎng)管理問題_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄1、 設(shè)計(jì)目的22、 設(shè)計(jì)內(nèi)容21. 題目 22. 問題描述23. 基本要求24. 實(shí)現(xiàn)提示23、 算法思想分析34、 算法描述與實(shí)現(xiàn)41.數(shù)據(jù)結(jié)構(gòu)類型定義 42.主要算法的流程圖及系統(tǒng)模塊劃分63.功能描述 74.程序代碼 85、 測(cè)試結(jié)果 176、 總結(jié)體會(huì) 201、 設(shè)計(jì)目的數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)的核心課程,是一門實(shí)踐性很強(qiáng)的課程。為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段,要求學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、算法的編寫、將算法轉(zhuǎn)換成程序并上機(jī)調(diào)試的基本方法,還要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)范的設(shè)計(jì)報(bào)告。本課程設(shè)計(jì)的目的就

2、是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,使同學(xué)們能夠根據(jù)數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,能把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來,并培養(yǎng)學(xué)生的基本程序設(shè)計(jì)素養(yǎng)和軟件工作者工作作風(fēng)。2、 設(shè)計(jì)內(nèi)容1.題目:模擬停車場(chǎng)管理問題2.問題描述:設(shè)停車場(chǎng)只有一個(gè)可停放幾輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)按車輛到來的先后順序依次排列,若車場(chǎng)內(nèi)已停滿幾輛汽車,則后來的汽車只能在門外的便道上等候,一旦停車場(chǎng)內(nèi)有車開走,則排在便道上的第一輛車即可進(jìn)入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí),由于停車場(chǎng)是狹長(zhǎng)的通道,在它之后開入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開出大門后,為它讓路的車輛在按原次序進(jìn)入

3、車場(chǎng)。每輛停放在車場(chǎng)的車在它離開停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。3.基本要求:試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。在這里假設(shè)汽車不能從便道上開走。試設(shè)計(jì)一個(gè)停車場(chǎng)管理程序。4.實(shí)現(xiàn)提示:以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離去的時(shí)刻,例如:(a,1,5)表示一號(hào)牌照車在5這個(gè)時(shí)刻到達(dá),而(d,5,20)表示5號(hào)牌照車在20這個(gè)時(shí)刻離去,整個(gè)程序可以在輸入信息為(e,0,0)時(shí)結(jié)束。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或

4、便道上的停車位置;若是車離去;則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn)。需另設(shè)一個(gè)棧,臨時(shí)停放為給要離去的汽車讓路而從停車場(chǎng)退出來的汽車。3、 算法思想分析1. 輸入 根據(jù)提示輸入停車場(chǎng)容量n。2. 創(chuàng)建 根據(jù)讀入的停車場(chǎng)容量n,創(chuàng)建長(zhǎng)度為n的棧(停車場(chǎng))。3. 主要操作1)插入(車輛停入) 根據(jù)提示往棧中插入元素(車輛信息),即使車輛停在停車場(chǎng)中。首先檢查停車場(chǎng)是否已滿,若不滿,則車輛停放在停車場(chǎng)中,記錄車輛到達(dá)時(shí)間,并把此時(shí)間作為開始計(jì)費(fèi)時(shí)間。若插入的元素個(gè)數(shù)超過停車場(chǎng)的容量,則此后的車輛停在便道上用隊(duì)列表示,即元素儲(chǔ)存在隊(duì)

5、列中。2)刪除(車輛離開) 根據(jù)提示刪除棧中的元素(車輛信息),即使車輛離開停車場(chǎng),同時(shí)停在便道上的車輛停入停車場(chǎng)中。當(dāng)車輛離開時(shí),首先要尋找到要離開車輛的車牌號(hào),若車是從停車場(chǎng)離開,則在它之后進(jìn)入的車輛必須先退出(進(jìn)入臨時(shí)棧)為它讓路,待該輛車開出大門外,其它車輛再按原次序進(jìn)入停車場(chǎng),并將停放在便道上第一位置的車開進(jìn)停車場(chǎng),離開的車輛按其在停車場(chǎng)內(nèi)停留的時(shí)間交費(fèi),并把離開車輛的離開時(shí)間作為便道上第一位置的車進(jìn)入停車場(chǎng)的進(jìn)入時(shí)間和開始計(jì)費(fèi)時(shí)間。3) 顯示 根據(jù)提示操作,顯示當(dāng)前停車場(chǎng)和便道使用情況。4) 退出 釋放停車場(chǎng)和便道(棧和隊(duì)列)上的車輛信息等,退出當(dāng)前運(yùn)行程序。4、 算法描述與實(shí)現(xiàn)1

6、.數(shù)據(jù)結(jié)構(gòu)類型定義/停車場(chǎng)車輛信息(存儲(chǔ)結(jié)構(gòu))typedef struct carinfor / 車輛信息 char szregmark64; / 車牌號(hào) char szarrtime16; / 到達(dá)時(shí)間 char szenttime16; / 進(jìn)入停車場(chǎng)(開始計(jì)費(fèi))時(shí)間 char szdeptime16; / 離開時(shí)間 tcarinfor, *lptcarinfor;szregmark64/車牌號(hào)szarrtime16/到達(dá)時(shí)間szenttime16/計(jì)費(fèi)時(shí)間szdeptime16/離開時(shí)間carinfor停車場(chǎng)車輛信息存儲(chǔ)結(jié)構(gòu)/棧carstack存儲(chǔ)結(jié)構(gòu)typedef struct car

7、stack lptcarinfor lpcarinfor; / 車輛信息 int ntop; / 棧頂元素下標(biāo) int nstacksize; / 棧容量 tcarstack, *lptcarstack;棧頂元素下標(biāo) ntop停車場(chǎng)carstack(棧)存儲(chǔ)結(jié)構(gòu)lpcarinfornstacksize=ntop+1/便道車輛信息(存儲(chǔ)結(jié)構(gòu))typedef struct carnode / 鏈隊(duì)結(jié)點(diǎn)信息 tcarinfor carinfo; / 車輛信息 struct carnode *lpnext; / 指向下一個(gè)元素的指針 tcarnode, *lptcarnode;szregmark64/

8、車牌號(hào)szarrtime16/到達(dá)時(shí)間szenttime16/計(jì)費(fèi)時(shí)間szdeptime16/離開時(shí)間carinfor便道車輛信息存儲(chǔ)結(jié)構(gòu)/ 鏈隊(duì)carqueue存儲(chǔ)結(jié)構(gòu)typedef struct carqueue lptcarnode lphead; / 頭結(jié)點(diǎn) lptcarnode lprear; / 指向當(dāng)前隊(duì)尾的指針 int neffsize; / 當(dāng)前隊(duì)中元素個(gè)數(shù)(有效車位) tcarqueue, *lptcarqueue;lptcarnode lprear便道carsqueue(隊(duì)列)存儲(chǔ)結(jié)構(gòu)lptcarnode lpheadlpcarinfornext 程序運(yùn)行界面 輸入停車場(chǎng)

9、容量,創(chuàng)建棧開 始根據(jù)當(dāng)前提示操作取得key值向棧或隊(duì)列加入元素信息向?;蜿?duì)列刪除元素信息顯示棧和隊(duì)列的停車情況退出程序e、釋放空間ado2. 主要算法的流程圖及功能描述(1)流程圖:(2)系統(tǒng)模塊劃分:車進(jìn)入停車場(chǎng)判斷停車場(chǎng)是否已滿車進(jìn)入停車場(chǎng)記錄時(shí)間開始計(jì)費(fèi)車輛離開記錄離開時(shí)間計(jì)算持續(xù)時(shí)間和費(fèi)用否是進(jìn)入便道記錄進(jìn)入時(shí)間但不計(jì)費(fèi)判斷停車場(chǎng)是否有空位否繼續(xù)等待是(3)算法描述:(1) void initstack( lptcarstack &lpcarstack, int nsize ) 初始化棧 lpcarstack,,為棧和車輛信息分配儲(chǔ)存空間,將其容量設(shè)置為 nsize。 int ini

10、tqueue( lptcarqueue &lpcarqueue ) 初始化鏈隊(duì) lpcarqueue,分配隊(duì)列存儲(chǔ)空間和頭結(jié)點(diǎn)空間,有效車位初始化。(2) void push( lptcarstack &lpcarstack, tcarinfor carinfo ) 向棧中加入元素信息:車輛信息 carinfo 入棧 lpcarstack,棧頂元素下標(biāo)+1。 int enqueue( lptcarqueue &lpcarqueue, tcarinfor carinfo ) 向隊(duì)列中加入元素信息:分配結(jié)點(diǎn)空間,車輛信息 carinfo 入隊(duì) lpcarqueue,順序存儲(chǔ)到隊(duì)列中,有效車位加1。

11、(3) void pop( lptcarstack &lpcarstack, tcarinfor &carinfo ) 從棧中刪除元素時(shí):車輛信息從棧 lpcarstack 中彈出并存入 carinfo中,棧頂元素下標(biāo)-1。 int dequeue( lptcarqueue &lpcarqueue, tcarinfor &carinfo ) 從隊(duì)列中刪除元素時(shí):隊(duì)頭元素從鏈隊(duì) lpcarqueue 中出隊(duì)并存入 carinfo,當(dāng)隊(duì)列中無元素時(shí),返回error;否則carinfo中信息存入臨時(shí)隊(duì)列中,再釋放臨時(shí)隊(duì)列,隊(duì)列長(zhǎng)度減1。(4) int main( void ) 主函數(shù):主要設(shè)計(jì)一個(gè)分

12、支語(yǔ)句,讓用戶根據(jù)提示選擇要執(zhí)行的操作,實(shí)現(xiàn)所需要的功能。3. 程序代碼#include /getch(void)#include /內(nèi)存分配 #include #include #include #define ok 1#define error 0#define overflow -1#define clearscreen() system( cls ) / 清空當(dāng)前屏幕/ 顯示字符串 szprompt 并等待用戶按下任意鍵#define pause(szprompt) printf( %s,szprompt),getch()/停車場(chǎng)車輛信息(存儲(chǔ)結(jié)構(gòu))typedef struct car

13、infor / 車輛信息 char szregmark64; / 車牌號(hào) char szarrtime16; / 到達(dá)時(shí)間 char szenttime16; / 進(jìn)入停車場(chǎng)(開始計(jì)費(fèi))時(shí)間 char szdeptime16; / 離開時(shí)間 tcarinfor, *lptcarinfor;/棧carstack存儲(chǔ)結(jié)構(gòu)typedef struct carstack lptcarinfor lpcarinfor; / 車輛信息 int ntop; / 棧頂元素下標(biāo) int nstacksize; / 棧容量 tcarstack, *lptcarstack;/ 初始化棧 lpcarstack, 將其

14、容量設(shè)置為 nsizevoid initstack( lptcarstack &lpcarstack, int nsize ) lpcarstack = ( lptcarstack ) malloc( sizeof ( tcarstack ) ); /棧儲(chǔ)存分配 lpcarstack-lpcarinfor = ( lptcarinfor ) malloc( nsize * sizeof ( tcarinfor ); /棧中車輛信息儲(chǔ)存分配 lpcarstack-ntop = -1; /棧中無元素 lpcarstack-nstacksize = nsize; /棧的長(zhǎng)度為nsize/ 車輛信息

15、carinfo 入棧 lpcarstackvoid push( lptcarstack &lpcarstack, tcarinfor carinfo ) lpcarstack-ntop+; /棧頂元素下標(biāo)+1 lpcarstack-lpcarinfor lpcarstack-ntop = carinfo; /把carinfo存入棧中/ 車輛信息從棧 lpcarstack 中彈出并存入 carinfovoid pop( lptcarstack &lpcarstack, tcarinfor &carinfo ) carinfo = lpcarstack-lpcarinfor lpcarstack-

16、ntop; /把棧中元素存入carinfo中 lpcarstack-ntop-; /棧頂元素下標(biāo)減1/ 若棧 lpcarstack 空,返回 true;否則,返回 falsebool isstackempty( lptcarstack lpcarstack ) return lpcarstack-ntop = -1;/棧空時(shí)返回棧頂下標(biāo)ntop值為-1/ 若棧 lpstackfull 滿,返回 true;否則,返回 falsebool isstackfull( lptcarstack lpcarstack )/棧滿返回ntop值為棧長(zhǎng)度減1 return lpcarstack-ntop = (

17、 lpcarstack-nstacksize - 1 ); / 銷毀棧 lpcarstack,將指針 lpcarstack 置為 nullvoid destroystack( lptcarstack &lpcarstack ) free( lpcarstack-lpcarinfor ); /釋放車輛信息存儲(chǔ)空間 free( lpcarstack ); /釋放棧的存儲(chǔ)空間 lpcarstack = null; /把棧lpcarstack置空/便道車輛信息(存儲(chǔ)結(jié)構(gòu))typedef struct carnode / 鏈隊(duì)結(jié)點(diǎn)信息 tcarinfor carinfo; / 車輛信息 struct c

18、arnode *lpnext; / 指向下一個(gè)元素的指針 tcarnode, *lptcarnode;/ 鏈隊(duì)carqueue存儲(chǔ)結(jié)構(gòu)typedef struct carqueue lptcarnode lphead; / 頭結(jié)點(diǎn) lptcarnode lprear; / 指向當(dāng)前隊(duì)尾的指針 int neffsize; / 當(dāng)前隊(duì)中元素個(gè)數(shù)(有效車位) tcarqueue, *lptcarqueue;/ 初始化鏈隊(duì) lpcarqueueint initqueue( lptcarqueue &lpcarqueue ) lpcarqueue = ( lptcarqueue ) malloc( si

19、zeof( tcarqueue ) ); /分配對(duì)列存儲(chǔ)空間 lpcarqueue-lphead =lpcarqueue-lprear=( lptcarnode) malloc( sizeof( tcarnode ) ); /分配頭結(jié)點(diǎn)空間 if(!lpcarqueue-lphead) exit(overflow); /分配儲(chǔ)存失敗 lpcarqueue-lphead-lpnext = null; lpcarqueue-neffsize = 0; return ok;/ 車輛信息 carinfo 入隊(duì) lpcarqueueint enqueue( lptcarqueue &lpcarqueue

20、, tcarinfor carinfo )/插入元素carinfo為隊(duì)lpcarqueue的新的隊(duì)尾元素 lptcarnode lpcarnode = ( lptcarnode ) malloc( sizeof( carnode ) ); /分配結(jié)點(diǎn)空間 if(!lpcarnode) exit(overflow); /分配儲(chǔ)存失敗 lpcarnode-carinfo = carinfo; lpcarnode-lpnext = null; lpcarqueue-lprear-lpnext = lpcarnode; lpcarqueue-lprear = lpcarnode; lpcarqueue

21、-neffsize+; return ok;/ 隊(duì)頭元素從鏈隊(duì) lpcarqueue 中出隊(duì)并存入 carinfoint dequeue( lptcarqueue &lpcarqueue, tcarinfor &carinfo ) if(lpcarqueue-lphead=lpcarqueue-lprear) return error; /隊(duì)列里沒有元素,返回error lptcarnode lptemp = lpcarqueue-lphead-lpnext; carinfo = lptemp-carinfo; lpcarqueue-lphead-lpnext = lptemp-lpnext;

22、 /指向下一結(jié)點(diǎn) if(lpcarqueue-lprear=lptemp) lpcarqueue-lphead=lpcarqueue-lprear; /如果隊(duì)列尾指針指向臨時(shí)結(jié)點(diǎn)時(shí),隊(duì)列中沒有元素 free( lptemp ); /釋放臨時(shí)隊(duì)列 lpcarqueue-neffsize-; /容量-1 return ok;/ 若鏈隊(duì) lpcarqueue 為空,返回 true;否則,返回 falsebool isqueueempty( lptcarqueue lpcarqueue ) return lpcarqueue-neffsize = 0; /鏈隊(duì)為空時(shí)返回長(zhǎng)度為0/ 銷毀鏈隊(duì) lpcar

23、queuevoid destroyqueue( lptcarqueue &lpcarqueue ) lptcarnode lpnextcarnode = null; for ( lptcarnode lpcarnode = lpcarqueue-lphead; lpcarnode != null; lpcarnode = lpnextcarnode ) lpnextcarnode = lpcarnode-lpnext; free( lpcarnode );/釋放結(jié)點(diǎn) lpcarnode信息 free( lpcarqueue );/釋放隊(duì)列 lpcarqueue lpcarqueue = nul

24、l;/ 將字符串時(shí)間格式轉(zhuǎn)換為數(shù)字(分鐘)格式,例如 12:36 將被轉(zhuǎn)換為 756 =( 12 * 60 + 36 )int converttime ( char *lptime ) int nhour = 0; int nminu = 0; sscanf( lptime, %d:%d, &nhour, &nminu ); return nhour * 60 + nminu; / 根據(jù)在停車場(chǎng)內(nèi)的停留時(shí)間 ncontiminu (分鐘)計(jì)算費(fèi)用double calcuexp ( int ncontiminu ) return ncontiminu * ( 5.0 / 60 );int mai

25、n( void ) int nparkcap = 0; / 停車場(chǎng)容量 putchar( n ); printf(tt*n); printf(tt=* *=n); printf(tt=*歡迎進(jìn)入停車場(chǎng)管理系統(tǒng)*=n); printf(tt=* *=n); printf(tt*n); putchar( n ); printf( 請(qǐng)輸入停車場(chǎng)容量: ); scanf( %d, &nparkcap ); lptcarstack lpcarstack = null; / 停車場(chǎng),用棧模擬 initstack( lpcarstack, nparkcap );/創(chuàng)建停車場(chǎng) lptcarqueue lpca

26、rqueue = null; / 便道,用鏈隊(duì)模擬 initqueue( lpcarqueue ); /創(chuàng)建隊(duì)列 char comtype = null; / 命令類型 char szuserinput128 = null ; / 用戶輸入 do clearscreen(); putchar( n ); puts( - ); puts( 命令類型 ); puts( a - 車輛到達(dá) ); puts( d - 車輛離開 ); puts( o - 顯示當(dāng)前停車場(chǎng)和便道使用情況 ); puts( e - 退出程序 ); putchar( n ); puts( 例: ); puts( a,t45,14

27、:26 ); puts( d,e32,16:51 ); puts( e ); puts( o ); putchar( n ); printf( 請(qǐng)輸入命令: ); scanf( %s, szuserinput ); puts( - ); char szcarinfor 128 = null ; sscanf( szuserinput, / 將命令類型與車輛信息分開存放 %c,%s, &comtype, / 用戶輸入的前半部分,即命令類型 szcarinfor / 用戶輸入的后半部分,即車輛信息 );/sscanf()從一個(gè)字符串中讀進(jìn)與指定格式相符的數(shù)據(jù). char *lpcomloc = n

28、ull; / 車輛信息字符串中的逗號(hào)位置 for ( lpcomloc = szcarinfor; *lpcomloc != 0; lpcomloc+ ) if ( *lpcomloc = , ) break;/跳出整個(gè)for循環(huán) *lpcomloc = 0; tcarinfor carinfo = null ; / 存儲(chǔ)本次用戶輸入的車輛信息 strcpy( carinfo.szregmark, szcarinfor );/把szcarinfor復(fù)制到carinfo.szregmark(車牌號(hào))里 if (comtype = a )/車輛到達(dá) strcpy( carinfo.szarrtim

29、e, lpcomloc + 1 );/把lpcomloc + 1復(fù)制到carinfo.szarrtime里 if ( false = isstackfull( lpcarstack ) )/判斷棧lpcarstack不滿時(shí) strcpy( carinfo.szenttime, carinfo.szarrtime );/車輛到達(dá)時(shí)間szarrtime復(fù)制給開始收費(fèi)時(shí)間szenttime push( lpcarstack, carinfo ); printf( 已進(jìn)入停車場(chǎng)第 %d 個(gè)車位n,lpcarstack-ntop + 1); printf( 車牌號(hào):tt%sn, carinfo.szre

30、gmark ); printf( 進(jìn)入時(shí)間:t%sn, carinfo.szenttime ); puts( 是否收費(fèi):t是 ); else enqueue( lpcarqueue, carinfo );printf( 停車場(chǎng)已滿,已停放在便道的第 %d 個(gè)車位n,lpcarqueue-neffsize); printf( 車牌號(hào):tt%sn, carinfo.szregmark ); printf( 停放時(shí)間:t%sn, carinfo.szarrtime ); puts( 是否收費(fèi):t否 ); else if (comtype = d ) strcpy( carinfo.szdeptime

31、, lpcomloc + 1 ); lptcarstack lptempcarstack = null; initstack( lptempcarstack, nparkcap );/ 創(chuàng)建臨時(shí)lptempcarstack,nparkcap(停車輛) tcarinfor carinfoout = null ; bool biscarfound = false; /初始化biscarfound while ( false = isstackempty( lpcarstack ) )/判斷棧lpcarstack不為空時(shí) pop( lpcarstack, carinfoout ); /車輛出棧lpc

32、arstack if ( 0 != strcmp( carinfoout.szregmark, carinfo.szregmark ) )/比較 push( lptempcarstack, carinfoout );/車輛進(jìn)棧lptempcarstack else biscarfound = true; break; while ( false = isstackempty( lptempcarstack ) )/判斷臨時(shí)棧不為空時(shí) tcarinfor tempcarinfo = null ; pop( lptempcarstack, tempcarinfo ); push( lpcarsta

33、ck, tempcarinfo ); if ( false = biscarfound ) printf( 車牌號(hào)為 %s 的車未進(jìn)入停車場(chǎng).n, carinfo.szregmark ); pause( -n按任意鍵輸入下一條信息.n ); continue; strcpy( carinfoout.szdeptime, carinfo.szdeptime ); int nenttime = converttime ( carinfoout.szenttime ); int ndeptime = converttime ( carinfoout.szdeptime ); int ncontimi

34、nu = ndeptime - nenttime; printf( 計(jì)費(fèi)時(shí)段:t%s - %s (共 %d 分鐘)n, carinfoout.szenttime, /開始計(jì)費(fèi)時(shí)間 carinfoout.szdeptime, /車輛離開時(shí)間 ncontiminu /持續(xù)時(shí)間 ); double rexpense = calcuexp ( ncontiminu ); /計(jì)算停車費(fèi) printf( 應(yīng)交納的費(fèi)用:t%.1lf 元n, rexpense ); if ( false = isqueueempty( lpcarqueue ) ) /如果隊(duì)列l(wèi)pcarqueue不空時(shí) tcarinfor t

35、empcarinfo = null ; dequeue( lpcarqueue, tempcarinfo ); strcpy( tempcarinfo.szenttime, carinfoout.szdeptime ); push( lpcarstack, tempcarinfo ); puts( - ); printf( 停放在便道的第 1 個(gè)車位,車牌號(hào)為 %s 的車已進(jìn)入停車場(chǎng)n, tempcarinfo.szregmark); else if (comtype = o ) clearscreen(); putchar( n ); puts( 停車場(chǎng)使用情況n ); puts( 車位t車牌號(hào)t到達(dá)時(shí)間t進(jìn)入(開始計(jì)費(fèi))時(shí)間n); for ( int i = 0; i ntop; i+ ) printf( %dt%stt%stt%sn, i + 1, /車位 lpcarstack-lpcarinfor i.szregmark, /車牌號(hào) lpcarstack-lpcarinfor i.szarrtime, /車輛到達(dá)時(shí)間 lpcarstack-lpcarinfor i.szenttime /車輛進(jìn)停車場(chǎng)時(shí)間 ); /顯示停車場(chǎng)車輛信息 putchar( n ); putchar( n ); putchar( n ); puts( 便道使用情況n

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論