电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

停车场管理系统__C语言实现

15页
  • 卖家[上传人]:s9****2
  • 文档编号:486383864
  • 上传时间:2023-07-08
  • 文档格式:DOC
  • 文档大小:76KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、-一问题描述1.实验题目: 设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列大门在最南端,最先到达的第一辆车停放在车场的最北端。假设停车场内已经停满 n辆车,则后来的车只能在门外的便道上等候。一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内*辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进展管理的模拟程序。2.根本要求: 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进展模拟管理。每一组输入数据包括三个数据项:汽车的到达A表示或离去D表示信息、汽车标识牌照号以及到达或离去的时刻。对每一组输入数据进展操作后的输出信息为:假设是车辆到达,则输出汽车在停车场内或者便道上的停车位置;假设是车辆离去,则输出汽车在停车场停留的时间和应缴纳的费用便道上停留的时间不收费。栈以顺序构造实现,队列以链表构造实现。3.测试数据: 设n=2,输入数据为:A,1

      2、,5,A,2,10,D,1,15,A,3, 20,A,4,25,A,5,30,D,2,35,D,4,40,E,0,0。每一组输入数据包括三个数据项:汽车 到达或离去信息、汽车牌照及到达或离去的时刻,其中,A表示到达;D表示离去,E表示输入完毕。其中:A,1,5表示1号牌照车在5这个时刻到达,而D,1,15表示1号牌照车在15这个时刻离去。4.简述每一局部的对象、目的和要求:I.主函数局部:对象:栈,队列;目的:创立栈和队列对停车场管理系统进展模拟;要求:对栈和队列进展初始化。II被调函数局部:对象:栈和队列中的结点亦即车辆的信息;目的:将结点存放到栈和队列中,并作出正确的处理;要求:根据各结点的信息,调用相应的函数或者语句,将结点入栈入队,出栈或者出队。二 需求分析1.程序所能到达的根本可能:程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进展模拟管理。栈以顺序构造实现,队列以链表构造实现。同时另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。输入数据按到达或离去的时刻有序。当输入数据包括数据项为汽车的到达A表示信息,汽车标识牌照号以及到达时刻时,应输

      3、出汽车在停车场内或者便道上的停车位置;当输入数据包括数据项为汽车的离去D表示信息,汽车标识牌照号以及离去时刻时,应输出汽车在停车场停留的时间和应缴纳的费用便道上停留的时间不收费;当输入数据项为P,0,0时,应输出停车场的车数;当输入数据项为W, 0, 0时,应输出候车场车数;当输入数据项为E, 0, 0,退出程序;假设输入数据项不是以上所述,就输出ERROR!。2.输入输出形式及输入值*围: 程序运行后进入循环,显示提示信息:Please input the state,number and time of the car:,提示用户输入车辆信息到达或者离开,车牌编号,到达或者离开的时间。假设车辆信息为到达,车辆信息开场进栈模拟停车场,当栈满,会显示栈满信息:The parking place is full!,同时车辆进队列模拟停车场旁便道,并显示该进入便道车辆的车牌编号,让用户知道该车的具体位置;假设车辆信息为离开,会显示该车进入停车场的时间以及相应的停车费用,假设该车较局部车早进停车场,这局部车需先退出停车场,暂时进入一个新栈为其让道,会显示进入新栈的车辆的车牌编号及其入停车场的

      4、时间,当待离开车离开停车场后,这局部车会重新进入停车场,同时便道上的第一辆车进入停车场;假设输入P,0,0,会显示停车场的车数;假设输入W,0,0,会显示便道上的车数;假设输入E,0,0,程序会跳出循环,同时程序完毕;假设输入为其他字母,程序会显示ERROR!报错。假设便道上没有车辆停靠,会显示便道为空的信息:用户每输入一组数据,程序就会根据相应输入给出输出。输入值第一个必须为字母,后两个为数字。3.测试数据要求:用户输入字母时,输入大写或小写,都可以被该程序识别,正常运行。但要求用户输入数据时,三个数据项之间必须用逗号相分隔开。三概要设计 为了实现上述功能,该程序以栈模拟停车场以及临时停放为给要离去的汽车让路而从停车场退出来的汽车的场地,以队列模拟车场外的便道,因此需要栈和队列这两个抽象数据类型。1. 栈抽象数据类型定义:ADT SqStack 数据对象:D=, i=1,2,3.,n,n数据关系:R=()|D,struct car; 根本操作: Judge_Output(s,q,r);/根据r中车辆信息控制车辆是入栈s还是 入队q以及相关操作 A_cars(s,q, a);/将到达车

      5、辆a的信息入栈s或者入队qD_cars(s,q, d);/将待离开车辆d出栈s,并将q中相应车辆 入栈并进展相关的操作ADT SqStack2.队列抽象数据类型定义:ADT LinkQueue 数据对象:D=Qnode *,Qnode *,i=1,2,3.,n,n; 数据关系:R=; 根本操作: Judge_Output(s,q,r);/根据r中车辆信息控制车辆是入栈s 还是入队q以及相关操作 A_cars(s,q, a);/将到达车辆a的信息入栈s或者入队q D_cars(s,q, d);/将待离开车辆d出栈s,并将q中相应车 辆入栈并进展相关的操作ADT LinkQueue3.主要算法流程图:IJudge_Output算法流程图:IIA_cars算法流程图:IIID_cars算法流程图:4.本程序保护模块:主函数模块栈单元模块:实现栈的抽象数据类型队列单元模块:实现队列的抽象数据类型调用关系:四详细设计1.相关头文件库的调用说明:#include#include#define MA*SIZE 14#define n 2#define fee 102.元素类型、结点类型和结点指针类型

      6、:struct car char bb; int num; int time; ;struct rangweicarint num; int time;typedef struct stackkstruct rangweicar HMA*SIZE; int topp;SqStackk;#define QNODE struct QnodeQNODE int data;QNODE *ne*t;3.栈类型和队列类型:typedef struct stackstruct car Gn; int top;SqStack;typedef struct linkqueueQNODE *front,*rear; int geshu;LinkQueue;/局部根本操作的伪码实现void Judge_Output(SqStack *s,LinkQueue *q,struct car *r) if(*r).bb=E|(*r).bb=e) printf(STOP!n); else if(*r).bb=P|(*r).bb=p)printf(The number of parking cars is %dn,(s

      7、-top)+1);else if(*r).bb=W|(*r).bb=w)printf(The number of waiting cars is %dn,q-geshu);else if(*r).bb=A|(*r).bb=a)A_cars(s,q,*r);else if(*r).bb=D|(*r).bb=d)D_cars(s,q,*r);elseprintf(ERROR!n);A_cars(SqStack *s,LinkQueue *q,struct car a)QNODE *t;if(s-top!=n-1) (s-top)+; (s-Gs-top).bb=a.bb;(s-Gs-top).num=a.num;(s-Gs-top).time=a.time;elseprintf(The parking place is full!n);t=(QNODE *)malloc(sizeof(QNODE);t-data=a.num;t-ne*t=NULL;q-rear-ne*t=t;q-rear=t; printf(the number of the car in the access road is:%dn,q-rear-data);q-geshu+;int D_cars(SqStack *s,LinkQueue *q,struct car d)int i,j,l;float *,y;QNODE *p;SqStackk *k;if(d.num=(s-Gs-top).num)*=d.time-(s-Gs-top).time;y=fee*;printf(The time is %.2f hours,the fee is %.2f yuann,*,y);if(q-geshu=0)printf(The queue is empty!n);return 0; elsep=q-front-ne*t;q-front-ne*t=p-ne*t;(s-Gs-top).num=p-data;(s-Gs-top).time=d.time;free(p);q-geshu-; if(q-front-ne*t=NULL)q-rear=q-front;return 1; else for(i=0;itop);i+

      《停车场管理系统__C语言实现》由会员s9****2分享,可在线阅读,更多相关《停车场管理系统__C语言实现》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.