版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 3 /*車庫容量*/ #define price 0.5 /*每車每分鐘費用*/ typedef struct timeint hour;int min;Time; /*時間結(jié)點*/typedef struct nodechar num10;Time reach;Time leave;CarNode;/*車輛信息結(jié)點*/typedef struct NODECarNode *stackMAX + 1;int top;Moni
2、_Cheku;typedef struct carCarNode *data;struct car *next;QueueNode;typedef struct NodeQueueNode *head;QueueNode *rear;Moni_Biandao;void InitStack(Moni_Cheku *); /*初始化車庫*/int InitQueue(Moni_Biandao *);/*初始化便道*/int Arrival(Moni_Cheku *, Moni_Biandao *); /*車輛到達*/void Leave(Moni_Cheku *, Moni_Cheku *, Mo
3、ni_Biandao *); /*車輛離開*/void List(Moni_Cheku, Moni_Biandao); /*顯示車庫和便道的存車信息*/int main()Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /*初始化車站*/InitStack(&Temp); /*初始化讓路的臨時鏈表*/InitQueue(&Wait); /*初始化便道*/printf("n");printf(" _歡迎進入停車場管理系統(tǒng)1!_n");printf(
4、"n");printf("提示! (1).該車庫的最大容量為:%d;n", MAX); printf(" (2).該車庫的收費標準為:%4.2f元/(輛*分鐘).n", price);while (1)system("CLS");printf("*主菜單*n");printf("1.車輛到達");printf(" 2.車輛離開");printf(" 3.列表顯示");printf(" 4.退出系統(tǒng)n");printf
5、("*n");printf("請選擇(1-4): bb");while (1)scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("錯誤!請重選(1-4): bb");switch (ch)case 1:Arrival(&Enter, &Wait); break; /*車輛到達*/case 2:Leave(&Enter, &Temp, &Wait); break; /*車輛離開*
6、/case 3:List(Enter, Wait); break; /*打印列表信息*/case 4:exit(0); /*退出主程序*/default: break;return 0;void InitStack(Moni_Cheku *s) /*初始化車庫*/int i;s->top = 0;for (i = 0; i <= MAX; i+)s->stacks->top = NULL;int InitQueue(Moni_Biandao *Q) /*初始化便道*/Q->head = (QueueNode *)malloc(sizeof(QueueNode);i
7、f (Q->head != NULL)Q->head->next = NULL;Q->rear = Q->head;return(1);else return(-1);void PRINT(CarNode *p, int room) /*輸出出庫車的信息*/int A1, A2, B1, B2;printf("請輸入離開的時間:/*:*/");scanf("%d:%d", &(p->leave.hour), &(p->leave.min);printf("離開車輛的車牌號為:"
8、);puts(p->num);printf("其到達時間為: %d:%dn", p->reach.hour, p->reach.min);printf("離開時間為: %d:%dn", p->leave.hour, p->leave.min);A1 = p->reach.hour;A2 = p->reach.min;B1 = p->leave.hour;B2 = p->leave.min;printf("應交費用為:%4.2f元", (B1 - A1) * 60 + (B2 - A
9、2)*price);free(p);int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /*車輛到達*/CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode);fflush(stdin);printf("請輸入車牌號(例如:中CUG888):");scanf("%s",&(p->num);if (Enter->top < MAX) /*車庫未滿,車進車庫*/Enter->top+;printf("該車在
10、車庫位置%d.n", Enter->top);printf("請輸入到達時間(*:*):");scanf("%d:%d", &(p->reach.hour), &(p->reach.min);Enter->stackEnter->top = p;return(1);else /*車庫已滿,車進便道*/printf("該車須在便道等待!n");t = (QueueNode *)malloc(sizeof(QueueNode);t->data = p;t->next =
11、NULL;W->rear->next = t;W->rear = t;return(1);void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*車輛離開*/int i, room;CarNode *p, *t;QueueNode *q;/*判斷車庫內(nèi)是否有車*/if (Enter->top > 0) /*有車*/printf("請輸入車在車庫的位置(1-%d):", Enter->top);/*輸入車輛離開的信息*/while (1)scanf("%
12、d", &room);if (room >= 1 && room <= Enter->top) break;else printf("錯誤!請重選:");while (Enter->top > room) /*車輛離開*/Temp->top+;Temp->stackTemp->top = Enter->stackEnter->top;Enter->stackEnter->top = NULL;Enter->top-;p = Enter->stackEnter
13、->top;Enter->stackEnter->top = NULL;Enter->top-;while (Temp->top >= 1)Enter->top+;Enter->stackEnter->top = Temp->stackTemp->top;Temp->stackTemp->top = NULL;Temp->top-;PRINT(p, room); /*判斷通道上是否有車及車庫是否已滿*/if (W->head != W->rear) && Enter->top
14、< MAX) /*便道的車輛進入車庫*/q = W->head->next;t = q->data;Enter->top+;printf("n便道的%s號車進入車場第%d位置.", t->num, Enter->top);printf("n請輸入現(xiàn)在的時間(*:*):");scanf("%d:%d", &(t->reach.hour), &(t->reach.min);W->head->next = q->next;if (q = W->re
15、ar) W->rear = W->head;Enter->stackEnter->top = t;free(q);else printf("n便道里沒有車.n");else printf("車庫里沒有車!n"); /*沒車*/void List1(Moni_Cheku *S) /*列表顯示車庫信息*/int i;if (S->top > 0) /*判斷車庫內(nèi)是否有車*/printf("車庫號 到達時間 t車牌號n");for (i = 1; i <= S->top; i+)printf(
16、" %d ", i);printf(" t%d:%d", S->stacki->reach.hour, S->stacki->reach.min);printf("tt%sn",S->stacki->num);else printf("車庫里沒有車n");void List2(Moni_Biandao *W) /*列表顯示便道信息*/QueueNode *p;p = W->head->next;if (W->head != W->rear) /*判斷便道上
17、是否有車*/printf("在便道里等待的車輛的號碼為:n");while (p != NULL)puts(p->data->num);p = p->next;else printf("便道里沒有車.n");void List(Moni_Cheku S, Moni_Biandao W)int flag, tag;flag = 1;while (flag)printf("*查看*n");printf("1.車庫2.便道3.返回n");printf("*n");printf("請選擇(1-3)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 應聘應屆生的自我介紹范文
- 建筑工程入門基礎(chǔ)知識普及
- 家電導購培訓
- 大學法制安全教育主題班會
- 2018山西道法試卷+答案+解析
- 2024年中國自動化設(shè)備行業(yè)市場發(fā)展趨勢預測報告-智研咨詢重磅發(fā)布
- 多模GNSS精密單點定位選星方法研究
- 線粒體乳酸攝取氧化復合物促進失巢乳腺癌干細胞特性和轉(zhuǎn)移潛能
- 二零二五年度高級資產(chǎn)管理委托投資協(xié)議書3篇
- 二零二五年度城市公園活動場地租賃合同2篇
- 江蘇中國中煤能源集團有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫附帶答案詳解
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學年統(tǒng)編版語文七年級下冊
- 北師版七年級數(shù)學下冊第二章測試題及答案
- 加強教師隊伍建設(shè)教師領(lǐng)域?qū)W習二十屆三中全會精神專題課
- 2025警察公安派出所年終總結(jié)工作匯報
- 2024-2025學年人教版數(shù)學七年級上冊期末復習卷(含答案)
- 機動車檢測站新?lián)Q版20241124質(zhì)量管理手冊
- 2024年決戰(zhàn)行測5000題言語理解與表達(培優(yōu)b卷)
- 四年級數(shù)學上冊人教版24秋《小學學霸單元期末標準卷》考前專項沖刺訓練
- 中國游戲發(fā)展史課件
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
評論
0/150
提交評論