二、概要設計
三、詳細設計
四、除錯分析
五、使用者手冊
六、測試結果
停車場是乙個可停放n輛汽車的狹長通道,且只有乙個大門可供汽車進出。汽車在停車場內按車輛到達時間的先後順序,依次由北向南排列(大門在最南端,最先到達的第一輛車放在車場的最北端),若車場內已停滿n輛汽車,則後來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;當停車場內某輛車要離開時,在它之後進入的車輛必須先退出車場為它讓路,待該輛車開出大門外,其他車輛再按原次序進入車場,每輛停放在車場的車在他離開停車場時必須按它停留的時間長短交納費用。試為停車場編制按上述要求進行管理的模擬程式。以棧模擬停車場,以佇列模擬車場外的便道,按照從終端讀入的輸入資料序列進行模擬管理。每一組輸入資料報括三個資料項:汽車「到達」或「離去」資訊、汽車牌照號碼以及到達或離去的時刻。對每一組輸入資料進行操作後的輸出資訊為:若是車輛到達,則輸出汽車在停車場內或便道上的停車位置;若是車輛離去,則輸出汽車在停車場內停留的時間和應交納的費用(在便道上停留的時間不收費)。
輸入停車場能停放的車輛數量和每小時收費**。再輸入車輛的進入/離開情況,車牌號和進入/離開時間,輸出車輛的位置和離開停車場時所需的費用。
// 彈出乙個元素,找和離開車牌相同的車,找到則輸出費用,返回空,否則返回彈出的元素
struct stackstruct *
pop1()
//彈出臨時棧的乙個元素並返回
void
enqueue
(struct stackstruct *p)
// 停車場滿,入佇列操作
struct stackstruct *
dequeue
(int time)
//出佇列操作,返回彈出的元素
struct stackstruct /*棧的結構體*/
;struct queuestruct /*佇列的結構體*/
;
#include
#include
#include
#include
struct stackstruct /*棧的結構體*/
;struct queuestruct /*佇列的結構體*/
;struct stackstruct *stackhead1,
*stackend1;
struct stackstruct *stackhead2,
*stackend2;
struct queuestruct *queuehead,
*queueend;
int stack1count, stack2count;
/*棧中元素總數*/
int queuecount;
/*佇列中元素總數*/
void
push
(int flag,
struct stackstruct *p)
else
stack1count++
;//記錄停車場裡車位數
}else
if(flag ==1)
/*臨時儲存的棧2進棧操作*/
else
stack2count++;}
}/*彈出乙個元素,找和離開車牌相同的車,找到則輸出費用,返回空,否則返回彈出的元素
*/struct stackstruct *
pop(
int id,
int time,
int money)
else
stack =
null;}
return stack;}/*
彈出臨時棧的乙個元素並返回
*/struct stackstruct *
pop1()
/*停車場滿,入佇列操作
*/void
enqueue
(struct stackstruct *p)
else
queuecount++;}
//出佇列操作,返回彈出的元素
struct stackstruct *
dequeue
(int time)
else
queuehead = queuehead->next;
return stack;
}int
main()
else
/*棧滿,進佇列操作*/
}else
if(s ==
'd')
/*汽車離去*/
//搜尋到了則退出迴圈
while
(stack2count !=0)
if(queuecount !=0)
}}return0;
}
本次實驗實現的是停車場管理系統模擬,通過棧模擬停車場,佇列模擬在外等待的車輛.
在彈出停車場棧的時候要判斷元素是否與離開車輛資訊相符,不相符則存入臨時棧等待,等找到離開車輛時再彈出臨時棧,加入佇列的乙個元素並復原。
1.本程式的執行檔案為:parking.exe
2.進入演示程式後,將顯示如下的介面
3.輸入停車場可停放汽車數量、費用單價和車輛資訊(車輛資訊輸入格式:a/d,車牌,到達時刻,其中a為到達,d為離開,輸入e,0,0結束)
4.當離開時刻在進入時刻之前,時間為負,此時應交費用為0.
2,3號車輛進入停車場,輸出資訊
4號車輛進入時停車場已滿,進入便道
3號車輛駛出輸出費用,4號車輛進入停車場
資料結構 停車場管理
問題描述 設停車場是乙個可停放n輛汽車的狹長通道,且只有乙個大門可供汽車進出。汽車在停車場內按車輛到達時間的先後順序,依次由北向南排列 大門在最南端,最先到達的第一輛車放在車場的最北端 若車場內已停滿n輛汽車,則後來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入 當停車場...
資料結構 停車場管理
題目 設停車場內只有乙個可停放n輛汽車的狹長通道,且只有乙個大門可供汽車進出 汽車在停車場內按車輛到達時間的先後順序,依次由北向南排列 大門在最南端,最先到達的第一輛車停放在車場的最北端 若車場內已停滿n輛汽車,則後來的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入 當停車...
資料結構 停車場管理 C C )
問題描述 設停車場是乙個可停放 輛汽車的狹長通道,且只有乙個大門可供汽車進出。汽車在停車場內按車輛到達時間的先後順序,依次由北向南排列 大門在最南端,最先到達的第一輛車停放在車場的最北端 若車場內已停滿 輛汽車,則後來的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開人 當停車...