【文章內(nèi)容簡介】
||p 23 cout 您的輸入有誤 ! endl。 cout 請重新輸入離開時(shí)間的 39。時(shí) 39。 023 :。 cin p 。 if p 0||p 59 cout 您的輸入有誤 !。 cout 請重新輸入離開時(shí)間的 39。分 39。 059 :。 cin p 。 cout 離開車輛的車牌號(hào)為 :。 cout 該車到達(dá)時(shí)間為 : cout p : p endl。 cout 該車離開時(shí)間為 : cout p : p endl。 A1 p 。 A2 p 。 B1 p 。 B2 p 。 cout 應(yīng)交費(fèi)用為 : B1A1 *60+ B2A2 *price 元 !。 delete p。 //車輛的到達(dá)登記 int Arrival SeqStackCar *Enter,LinkQueueCar *W CarNode *p。 QueueNode *t。 p new CarNode。 cout 請輸入車牌號(hào) :。 cin p num。 if Enter top //車輛未滿,車進(jìn)車場 Enter top++。 cout 車輛在車場第 Enter top 位置 。 cout 車輛到達(dá)時(shí)間 :。 cin p p 。 while p 0||p 23 //控制時(shí)間格式正 確 cout 您的輸入有誤 !。 cout 請重新輸入到達(dá)時(shí)間的 39。時(shí) 39。 023 :。 cin p 。 while p 0||p 59 //控制分鐘輸入正確 cout 您的輸入有誤 !。 cout 請重新輸入到達(dá)時(shí)間的 39。分 39。 059 :。 cin p 。 Enter stack[Enter top] p。 cout ★★★ 祝賀您登記成功 ! ★★★ \n。 system pause 。 system cls 。 return 1 。 else//車場已滿,車進(jìn)便道 cout 停車場車位已滿,請?jiān)撥囋诒愕郎系却?!有空余車位時(shí)才能進(jìn)入停車場 !\n。 t new QueueNode。 t data p。 t next NULL。 W rear next t。 W rear t。 return 1 。 //車輛的離開 void Leave SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W int room。 CarNode *p,*t。 QueueNode *q。 if Enter top 0 //判斷停車場是否為空 while 1 //輸入離開車輛的信息 cout 請輸入車在車場的位置: 。cin room。 if room 1amp。amp。room Enter top break。 else cout 您的輸入有誤 ,請重新輸入 : 。 while Enter top room //把要離開車輛前面的車開出來,進(jìn)臨時(shí)棧。 Temp top++。//臨時(shí)通道的棧頂指針 Temp stack[Temp top] Enter stack[Enter top]。 Enter stack[Enter top] NULL。 Enter top。 p Enter stack[Enter top]。//把要?jiǎng)h除的車輛節(jié)點(diǎn)賦給 p。 Enter stack[Enter top] NULL。 Enter top。 while Temp top 1 //判斷臨時(shí)通道上是否有車。 Enter top++。 Enter stack[Enter top] Temp stack[Temp top]。 Temp stack[Temp top] NULL。 Temp top。 PRINT p,room 。//調(diào)用計(jì)費(fèi)函數(shù)計(jì)費(fèi) if W head! W rear amp。amp。Enter top //停車場未滿 ,如果便道上有車,則再開進(jìn)停車場 q W head next。 t q data。 Enter top++。 cout 便道上的 t num 號(hào)車進(jìn)入停車場內(nèi)第 Enter top 位置 endl。 cout 請輸入 t num 號(hào)車進(jìn)入停車場的時(shí)間 :。 cin t t 。 while t 0||t 23 //控制時(shí)間格式正確 cout 您的輸入有誤 ! endl。 cout 請重新輸入到達(dá)時(shí)間的 39。時(shí) 39。 023 :。 cin t 。 while t 0||t 59 //控制分鐘輸入正確 cout 您的輸入有誤 !。 cout 請重新輸入到達(dá)時(shí)間的 39。分 39。 059 :。 cin t 。 W head next q next。 if q W rear W rear W head。 Enter stack[Enter top] t。 cout ★★★ 祝賀您登記成功 ! ★★★ endl。 delete q。 else cout ★★★ 您好,便道上沒有車 ! ★★★ endl。 else cout ★★★ 您好,停車場內(nèi)沒有車 ! ★★★ endl。 //顯示停車場里的車輛情況 void List1 SeqStackCar *S int i。 cout 您請求的查看停車場內(nèi)停車情況為 :。 if S top 0 //判斷停車場內(nèi)是否有車 for i 1。i S top。i++ cout 車位位置 : i endl。 cout 到達(dá)時(shí)間 : cout S stack[i] : S stack[i] endl。 cout 車牌號(hào) : S stack[i] num endl。 else cout 您好,停車場內(nèi)沒有車 !無法進(jìn)行車輛離開登記操作 ! endl。 //顯示便道上的車輛情況 void List2 LinkQueueCar *W QueueNode *p。 int i。 cout 您所請求的查看便道上停車的情況為 : endl。 p W head next。 if W head! W rear //判斷便道上是否有車 for i 1。p! NULL。i++ cout 第 i 車輛 :。 cout 等待車輛的車牌號(hào)碼為 : p data num endl。 p p next 。 else cout 您好,便道上沒有車 ! endl。 //列表界面 void List SeqStackCar S,LinkQueueCar W int flag,tag。 flag 1。 while flag //列表顯示循環(huán)控制 cout ★★★ 歡迎使用停車場系統(tǒng) ★★★ \n。 cout | 查看車輛列表顯示 |\n。 cout |********************************************|\n。 cout |☆☆ ☆☆ |\n。 cout |☆☆ ☆☆ |\n。 cout |☆☆ ☆☆ |\n。 cout |********************************************|\n。 cout 請選擇您所需要的服務(wù) 1~3 :。 while 1 cin tag。 if tag 1 amp。amp。 tag 3 break。 else cout 您的輸入有誤 ! 請重新選擇 1~3:。 switch tag case 1: List1 amp。S 。system pause 。system cls 。break。//列表顯示停車場信息 case 2: List2 amp。W 。system pause 。system cls 。break。//列表顯示便道信息 case 3: flag 0。system cls 。break。 default: break。 void main SeqStackCar Enter,Temp。 LinkQueueCar Wait。 int ch。 system color 3A 。//設(shè)置系統(tǒng)顏色,本系統(tǒng)為藍(lán)底綠字 InitStack amp。Enter 。//初始化車站 InitStack amp。Temp 。//初始化讓路的臨時(shí)棧 InitQueue amp。Wait 。//初始化通道 while 1 cout ★★★ 歡迎使用停車場系統(tǒng) ★★★ \n。 cout |*******************************************|\n。 cout |☆☆ 1. 車輛到達(dá)登記 ☆☆ |\n。 cout |☆☆ 2. 車輛離開登記 ☆☆ |\n。 cout |☆☆ 3. 車輛列表顯示 ☆☆ |\n。 cout |☆☆ 4. 退出系統(tǒng) ☆☆ |\n。 cout |******************************************|\n。 cout 請選擇您所需要的服務(wù) 1~4 :。 cin ch。 while 1 if ch 1amp。amp。ch 4 break。 else cout 您的輸入有誤 !請您重新選擇 1~4 :。 cin ch。 switch ch case 1: Arrival amp。Enter,amp。Wait 。system cls 。break。//車輛到達(dá) case 2: Leave amp。Enter,amp。Temp,amp。Wait 。system pause 。 system cls 。break。//車輛離開 case 3: system cls 。List Enter,Wait 。break。//列表顯示車輛信息 case 4: exit 0 。//退出主程序