停车场管理系统源代码_第1页
停车场管理系统源代码_第2页
停车场管理系统源代码_第3页
停车场管理系统源代码_第4页
停车场管理系统源代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、停车场管理系统源代码 停车场管理系统 # include #include #define OVERFLOW 0 #define ERROR 0 #define OK 1 #define STACKSIZE 2 车库容量 时间节点 typedef struct time int hour; int min; Time; 车辆信息 typedef struct char CarNum; float time; int pos_a;车在停车场中的位置 int pos_b;车在便道上的位置 int flag; CarzCar2; 车库信息(顺序栈) typedef struct Car *top;

2、Car *base; int stacksize; SqStack; 初始化 int lnitStack(SqStack if(S.base) exit(OVERFLOW); S.top=S.base; S.stacksize=STACKSIZE; return OK; 判空 int StackEmpty(SqStack S) if(S.top=S.base) return OK; else return ERROR; 5/8 判满 int StackFull(SqStack S) if(S.top-S.base=S.stacksize) return OK; else return ERRO

3、R; 入栈 int Push(SqStack *S.top+=e; return OK; 出栈 int Pop(SqStack e=*-S.top; return OK; 遍历栈 int StackTraverse(SqStack S) Car *p=S.top; Car *q=S.base; int 1=1; if(StackEmpty(S) for(int j=l;jnext=NU LL; return OK; 进队 int EnQueuefLinkQueue p 二 new QNode; p-data=e; p-next=NULL; Q.rear- n ext=p; Q.rear=p;

4、return OK; 判空 int QueueEmpty(LinkQueue Q) if(Q.front=Q.rear) return OK; else return ERROR; 出队 int DeQueue(LinkQueue if(Q.front=Q.rear) return ERROR; p=Q.fr ontn ext; e=p-data; Q.front- n ext=p-n ext; delete p; return OK; 主函数 int main() int i=l; int j=l; int status; float time,money; LinkQueue Q; Car

5、 car_l,car_Dcar_M; SqStack S; SqStack2 S2; InitStack(S); lnitStack2(S2); InitQueue(Q); while(l) printf(ttt 欢迎来到 XXX 停车场! nM); printf(* * printf(Htttl-车辆到达停车场rf); printf(ttt2-车辆离开停车场n“); printf(”ttt3-停车场存放车辆情况n“); printf(ntttO-退出程序nj; printf(* * printf(H 选择(0-3):nH); scanf(,%d,/ if(status=l) printf(t

6、请输入车牌号:); scanf(,%d/ printf(t请输入车到达的时间:); scanf(,%f, if(!StackFull ) Push(S,car_l);车进入车库 carj.pos_a=i; car_l.flag=l; i=i+l; for(int m=l;m50;m+) 边线 printfC-); printf(HnH); printfCt 车牌号:“); printf( %d,car_I.CarNum); printf(t 到达时间:); printf( %5.1ftfcar_l.time); printf(t 车库中的位置是:%dnzcar_l.pos_a); for(in

7、t m=l;m50;m+) 边线 printfCV); printf(“n“); printf(“n“); else EnQueue(Q,car_l); car_l.pos_b=j; car_l.flag=O;/ +j; printfCV); printf(”tSorry!我们的车库已满! !,您可以把车!免费!停在车道上! n”); printfCV); for(int m=l;m50;m+) 边线 printfC.); printfCV); printf(t 车牌号:“); printf( %d,car_I.CarNum); printf(t 便道上的位置为:%dnzcar_l.pos_b

8、); for(int m=l;m=STACKSIZE) printf(您的车停在便道上,所以免费!); printfCV); printfCV); printfCV); /if else 车让路 里的车 loop:do挡在前面的车给要出去的 Pop(S,car_M); 加一个判断,判断是不是停车场 if(car_D.CarNum!=car_M.CarNum) Push2(S2,car_M); else carJ.time=car_M.time; while(car_D.CarNum!=car_M.CarNum); while(!StackEmpty2(S2)让路的车返回去 Pop2(S2,car_M); Push(S,car_M); while(!QueueEmpty(Q)便道上的车离开后进入 停车场,那么后面的车的位置都得变。 car_M.flag=l; Push(S,car_M); printf(车牌为d的车离开车库,车道上车牌为d的车进入车库 n 蔦 car_DCarNum,car_MCaNum); time=car_D.time-carJ.time; if(time0.0 else money=time*6; printf(你的车牌为(1 的车,应收费%5.2f 元。caD.CarNum,mon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论