欢迎来到天天文库
浏览记录
ID:61448484
大小:112.00 KB
页数:17页
时间:2021-01-31
《设计停车场管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、软件学院综合训练项目报告书课程名称数据结构项目名称停车场管理系统专业班级组别4成员任课教师目录1设计时间32设计目的33设计内容33.1问题分析33.2数据结构与说明33.3程序设计33.4测试与分析103.4源程序代码144.总结与展望271设计时间2015年4月3日--2015年4月10日2设计任务设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上
2、的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进行管理的模拟程序。3设计内容3.1问题分析:由于停车场是一个狭窄通道,而且只有一个大门可供汽车进出,问题要求汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列。由此很容易联想到用结构体数组来存储车库信息。又每个汽车的车牌号都不一样,这样一来就可以根据车牌号准确找到汽车位置。当停车场内某辆车要离开时,在他之后进入的汽车必须再按原次序进
3、入车库。这是一个一退一进的过程,而且让道的汽车必须保持原有的先后顺序,因此可再设计一个结构体数组,用来暂时存放为出站汽车暂时让道的汽车车牌号。当车库满后,继续进来的汽车需要停放在车库旁边的便道上等候,若车库满后,继续进来的汽车需要停放在车库旁边的便道上等候,若车有汽车开走,这完全是一个先进先出模型,因此可以设计一个队列来模拟便道,队列中的数据元素仍然设计成汽车的车牌号。另外,停车场是根据汽车在停车场内停放的总长来收费的,在便道上的时间不计费,因此必须记录车辆进入车库时的时间,车辆离开车库时的时间不需要记录,当从终端输入时可直接使用。3.2数据结构说明根据题意,停车
4、场中的空间分为车库和便道。这里用结构体来模拟车库和便道,按照从端读入数据序进行管理。模拟车库和模拟便道中分别用结构体数组和链表来存储车辆信息。3.3程序设计1.时间结点类型typedefstructtime{inthour;intmin;}Time;/*时间结点*/2.车辆进出站信息类型typedefstructnode{charnum[10];Timereach;Timeleave;}CarNode;/*车辆信息结点*/3.停车场和便道信息类型typedefstructNODE{CarNode*stack[Max+1];inttop;}LinkQueueStat
5、ion;/*模拟车站*/typedefstructcar{CarNode*data;structcar*next;}QueueNode;typedefstructNode{QueueNode*front;QueueNode*rear;}LinkQueueCar;/*模拟通道*/4.主函数voidmain(){LinkQueueStationEnter,Temp;LinkQueueCarWait;intch;InitStack(&Enter);/*初始化车站*/InitStack(&Temp);/*初始化让路的临时链表*/InitQueue(&Wait);/*初始化
6、便道*/printf("");printf("欢迎进入停车场管理系统!^_^");printf("本程序为个人版权");printf("提示!(1).该车库的最大容量为:%d;",MAX);printf("(2).该车库的收费标准为:%4.2f元/(辆*分钟).",price);while(1){printf("********************主菜单********************");printf("1.车辆到达");printf("2.车辆离开");printf("3.列表显示");printf("4.退出系统");
7、printf("**********************************************");printf("请选择(1-4):[]bb");while(1){scanf("%d",&ch);if(ch>=1&&ch<=4)break;elseprintf("错误!请重选(1-4):[]bb");}switch(ch){case1:Arrival(&Enter,&Wait);break;/*车辆到达*/case2:Leave(&Enter,&Temp,&Wait);break;/*车辆离开*/case3:List(Enter,Wai
8、t);br
此文档下载收益归作者所有