版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际汽车销售代理合同
- 2024年度保险代理协议
- 2024年害虫防治定期服务协议
- 2024区块链技术应用与合作合同
- 2024年专业同声传译合作协议
- 2024版蔬菜采购合同书文书
- 2024区块链技术研发公司与金融机构之间的数字货币发行与交易合同
- 2024民间私人贷款合同范本个人民间贷款合同范本
- 2024年个性化金融服务系统建设合同
- 2024年度装饰工程grc材料采购合同
- 《城市轨道交通桥梁养护技术规范》
- 《水土保持技术》课件-项目八 拦渣措施
- 机动车检测站违规检验整改报告
- 2024年建筑电工复审考试题库附答案
- 2024年4月自考04737C++程序设计试题及答案含评分参考
- 睡眠医学智慧树知到期末考试答案章节答案2024年广州医科大学
- GB/T 17259-2024机动车用液化石油气钢瓶
- 国开(河北)2024年《中外政治思想史》形成性考核1-4答案
- 床边护理带教体会
- 2024年社区工作者考试必背1000题题库及必背答案
- MOOC 微型计算机原理与接口技术-南京邮电大学 中国大学慕课答案
评论
0/150
提交评论