欢迎来到天天文库
浏览记录
ID:45342433
大小:82.01 KB
页数:10页
时间:2019-11-12
《c语言数据结构停车场系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验题目:实验六停车场管理班级:11计算机2班姓名:仇越学号:11070204日期:10.30一、需求分析1.程序的功能:设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。(
2、1)建立静态数组栈作为模拟停车场,动态链表栈作为模拟便道。(2)车辆到达,停入停车场或者便道,记录车牌号,到达时间。(3)车辆离开,记录离开时间,输出停车时间和收费。将便道内车停入停车场,记录进入时间。(4)列表显示停车场,便道内车辆情况。(5)列表显示历史记录(已经离开车的车牌号,到达离开时间,收费)。2.输入输出的要求:(1)输入:字符串车牌号,到达时间,离开时间(2)输出:停车时间和收费,停车场和便道的停车情况,历史记录。3.测试数据:1停车场:车牌号苏A1111到达时间12:20离开时间13:002停车场:车牌号苏A1111到达时间12:20离开时间13:00;车牌号苏A2222到
3、达时间13:00离开时间14:00选择停车场内1号位离开,再选择停车场内2号位离开3停车场:车牌号苏A1111到达时间12:20离开时间13:00;车牌号苏A2222到达时间13:00离开时间14:00便道:车牌号苏A3333到达时间12:30离开时间13:00;车牌号苏A4444到达时间13:00离开时间15:00选择停车场内2号位离开,再选择选择停车场内2号位离开4停车场:车牌号苏A1111到达时间12:20离开时间13:00;车牌号苏A2222到达时间13:00离开时间14:00便道:车牌号苏A3333到达时间12:30离开时间13:00;车牌号苏A4444到达时间13:00离开时间
4、15:00输出停车场内和便道的停车情况5停车场:车牌号苏A1111到达时间12:20离开时间13:00;车牌号苏A2222到达时间13:00离开时间14:00便道:车牌号苏A3333到达时间12:30离开时间13:00;车牌号苏A4444到达时间13:00离开时间15:00让苏A1111和苏A2222离开后,再输出停车场内和便道的停车情况,以及历史记录6选择4退出系统二.概要设计4.本程序所用的抽象数据类型的定义ADTStack{数据对象:D={ai
5、ai为ElemSet,i为正整数}数据关系:R1={
6、ai-1,ai都属于D,i为正整数}基本操作:InitStack(&
7、S)//构建一个空栈SDestroyStack(&S)//S被销毁StackLength(S)//返回S的元素个数,即栈的长度。StackEmpty(s)//若栈S为空栈,则返回TRUE,否则FALE。GetTop(S,&e)//用e返回S的栈顶元素ClearStack(&S)//将S清为空栈Push(&S,e)//入元素e为新的栈顶元素。Pop(&S,&e)//删除S的栈顶元素,并用e返回其值2.主程序的流程及各程序模块之间的层次关系(1)流程:输出菜单“1.车辆达到2.车辆离开3.列表显示4.退出系统”。先选择1,输入车牌号,输出车在停车场的位置,再输入到达时间。随意选择1,2,3,4
8、。若选1,停车场满后停在便道上,输入车牌号。选择2,输入要离开的车辆在停车场的位置和离开时间。输出停车时间和费用。若便道上有车,将一辆车移到停车场,输入现在时间。选择3,输出菜单“1.停车场2.便道3.历史记录4.返回”。选择1,2,3,分别显示停车场,便道,历史记录的情况。选择4返回到开始菜单。最后选择4结束程序。一、详细设计1.采用c语言定义相关的数据类型(1)typedefstructtime{inthour;intmin;}Time;/*时间结点*/(2)typedefstructnode{charnum[10];Timereach;Timeleave;inttime;//车停在停
9、车场的总时间}CarNode;/*车辆信息结点*/(3)typedefstructNODE{CarNodestack[MAX+1];inttop;}SeqStackCar;/*模拟车站*/(4)typedefstructcar{CarNodedata;structcar*next;}QueueNode;(5)typedefstructNode{QueueNode*head;QueueNode*rear;}LinkQueu
此文档下载收益归作者所有