




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<>#include<>#include<>#define MAX 3 /*车库容量 */#define price /* 每车每分钟费用 */ typedef struct timeint hour;int min;Time; /* 时间结点 */typedef struct nodechar num10;Time reach;Time leave;CarNode;/* 车辆信息结点 */ typedef struct NODECarNode *stackMAX + 1;int top;Moni_Cheku;typedef struct c
2、arCarNode *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 *, Moni_Biandao *); /*
3、 车辆离开 */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(” A_A欢迎进入停车场管理系统1!A_An");printf("n
4、");printf(" 提示!( 1 ).该车库的最大容量为 :%d;n",MAX);printf("(2). 该车库的收费 标准为:元/ (辆*分钟).n",price);while (1)system("CLS");printf(*n"); printf("1. 车辆到达 "); printf(" 2. 车辆离开 "); printf(" 3. 列表显示 ");printf(" 4. 退出系统 n"); 主菜单n");pr
5、intf(printf(" 请选择(1 -4): bb");while (1)scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("错误!请重选(1-4): bb");3 / 12swifch (ch)宀case rAITiva-(QOEn(DQowaif)八 break 八 /*<彗里评 */case 2Leave(QOEn(DQOTempQowaif)八 break 八 /*<彗*斗 */case99Lisf(En(Dwa
6、if)八 break- /YTS旦*aw*/case 4exif(0)八 /* 陆圧卅谕砸 defau_rrbreak-efum 0八void -nifsarck(Monilcheku *s) /* 裆毬矣<>*/宀in二sxop H o 八fo(i H 0二 ah MAX+)svss-ck-sxopj H nufinf -nifQueue(MonilBiandao *Q) /* 裆毬矣油血 */宀Qvhead H (QueueNode *)ma=oc(sizeof(QueueNode)=f(QvheadHNULL)Q->head->next = NULL;Q->
7、rear = Q->head;return(1);else return(-1);void PRINT(CarNode *p, int room) /*输出出库车的信息 */ int A1, A2, B1, B2;printf(" 请输入离开的时间 :/*:*/"); scanf("%d:%d", &(p->, &(p->);printf(" 离开车辆的车牌号为 :"); puts(p->num);printf(" 其到达时间为 : %d:%dn", p->, p-&g
8、t;printf(" 离开时间为 : %d:%dn", p->, p->A1 = p->A2 = p->B1 = p->B2 = p->printf(" 应交费用为 :%元 ",(B1-A1)*60+(B2-A2)*price);12 / 12free(p);int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /* 车辆到达 */ CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode);fflush(stdi
9、n);printf(" 请输入车牌号 (例如:中 CUG888):"); scanf("%s",&(p->num);if (Enter->top < MAX) /* 车库未满,车进车库 */Enter->top+;printf(" 该车在车库位置 %d.n", Enter->top);printf(" 请输入到达时间 (*:*):"); scanf("%d:%d", &(p->, &(p->);Enter->stackEnt
10、er->top = p;return(1);else /* 车库已满,车进便道 */printf(" 该车须在便道等待 !n");t = (QueueNode *)malloc(sizeof(QueueNode);t->data = p;t->next = 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
11、, *t;QueueNode *q;/* 判断车库内是否有车 */if (Enter->top > 0) /* 有车*/printf(" 请输入车在车库的位置 (1-%d):",Enter->top);/* 输入车辆离开的信息 */while (1)scanf("%d", &room);if (room >= 1 && room <= Enter->top) break;else printf(”错误!请重选:”);while (Enter->top > room) /* 车辆离开
12、*/Temp->top+;Temp->stackTemp->top = Enter->stackEnter->top;Enter->stackEnter->top =NULL;Enter->top-;p = Enter->stackEnter->top;Enter->stackEnter->top = NULL;Enter->top-;while (Temp->top >= 1)Enter->top+;Enter->stackEnter->top = Temp->stackTemp
13、->top;Temp->stackTemp->top =NULL;Temp->top-;PRINT(p, room); /*判断通道上是否有车及车库是否已满 */if (W->head != W->rear) && Enter->top < MAX) /*便道的车辆进入车库 */q = W->head->next;t = q->data;Enter->top+;printf("n便道的s号车进入车场第d位置.",t->num,Enter->top);printf("
14、n 请输入现在的时间 (*:*):");scanf("%d:%d", &(t->, &(t->);W->head->next = q->next;if (q = W->rear) W->rear = W->head;Enter->stackEnter->top = t;free(q);else printf("n 便道里没有车 .n");else printf("车库里没有车!n"); /*没车*/void List1(Moni_Cheku *S)
15、/*列表显示车库信息 */int i;if (S->top > 0) /*判断车库内是否有车 */printf(" 车库号到达时间 t 车牌号 n");for (i = 1; i <= S->top; i+)printf(" %d ", i);printf("t%d:%d",S->stacki->,S->stacki->printf("tt%sn",S->stacki->num);else printf(" 车库里没有车 n");voi
16、d List2(Moni_Biandao *W) /* 列表显示便道信息 */QueueNode *p;p = W->head->next;if (W->head != W->rear) /* 判断便道上是否有车 */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(H*查看*n");printf("1. 车库 2.便道 3.返回 n");printf(H*n");printf(" 请选择(1-3): bb");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化肥厂化肥价格制定制度
- 新疆维吾尔自治区阿勒泰地区福海县2025-2026学年七年级上学期9月月考语文试题(无答案)
- 陕西省西安市2026届高三上学期一模地理试题(含答案)
- 河北省邯郸市武安洺湖中学、西岭湖中学2025-2026学年联考高一(上)开学化学试卷(含答案)
- 广东省广州市番禺区祈福中英文学校2024-2025学年七年级下学期2月月考英语试卷(含答案)
- 2025-2026学年广西壮族自治区高二上学期9月入学摸底大联考数学试卷(含答案)
- 手形联想课件
- 手工包烟安全培训总结课件
- 喷补过程仿真-洞察及研究
- 注册安全工程师生产管理试题及答案
- 双姿培训课件
- GB/Z 41082.2-2023轮椅车第2部分:按GB/Z 18029.5测得的尺寸、质量和操作空间的典型值和推荐限制值
- 实施项目经理岗位的工作职责描述
- 医院物业服务投标方案
- 中频操作评分标准
- 国家免疫规划疫苗儿童免疫程序说明-培训课件
- 生活中的理财原理知到章节答案智慧树2023年暨南大学
- GB/T 22588-2008闪光法测量热扩散系数或导热系数
- GB/T 22237-2008表面活性剂表面张力的测定
- GB/T 13298-1991金属显微组织检验方法
- 《绿色建筑概论》整套教学课件
评论
0/150
提交评论