目录设计目的………………………………2设计内容………………………………2题目………………………………………2问题描述……………………………………2基本要求……………………………………2实现提示……………………………………2算法思想分析…………………………3算法描述与实现……………………………………………………………………………………………………………………………………8测试结果……………………………17总结体会……………………………20设计目的《数据结构》是计算机专业的核心课程,是一门实践性很强的课程。为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。课程设计是加强学生实践能力的一个强有力手段,要求学生掌握数据结构的应用、算法的编写、将算法转换成程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养学生的基本程序设计素养和软件工作者工作作风。::设停车场只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场按车辆到来的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门后,为它让路的车辆在按原次序进入车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。:试为停车场编制按上述要求进行管理的模拟程序。在这里假设汽车不能从便道上开走。试设计一个停车场管理程序。:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,例如:('A',1,5)表示一号牌照车在5这个时刻到达,而('D',5,20)表示5号牌照车在20这个时刻离去,整个程序可以在输入信息为('E',0,0)时结束。对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。算法思想分析输入根据提示输入停车场容量n。创建根据读入的停车场容量n,创建长度为n的栈(停车场)。主要操作1)插入(车辆停入)根据提示往栈中插入元素(车辆信息),即使车辆停在停车场中。首先检查停车场是否已满,若不满,则车辆停放在停车场中,记录车辆到达时间,并把此时间作为开始计费时间。若插入的元素个数超过停车场的容量,则此后的车辆停在便道上——用队列表示,即元素储存在队列中。2)删除(车辆离开)根据提示删除栈中的元素(车辆信息),即使车辆离开停车场,同时停在便道上的车辆停入停车场中。当车辆离开时,首先要寻找到要离开车辆的车牌号,若车是从停车场离开,则在它之后进入的车辆必须先退出(进入临时栈)为它让路,待该辆车开出大门外,其它车辆再按原次序进入停车场,并将停放在便道上第一位置的车开进停车场,离开的车辆按其在停车场内停留的时间交费,并把离开车辆的离开时间作为便道上第一位置的车进入停车场的进入时间和开始计费时间。显示根据提示操作,显示当前停车场和便道使用情况。退出释放停车场和便道(栈和队列)上的车辆信息等,退出当前运行程序。//停车场车辆信息(存储结构)typedefstructcarinfor//车辆信息{charszRegMark[64];//车牌号charszArrTime[16];//到达时间charszEntTime[16];//进入停车场(开始计费)时间charszDepTime[16];//离开时间}TCARINFOR,*LPTCARINFOR;szRegMark[64]//车牌号szArrTime[16]//到达时间szEntTime[16]//计费时间szDepTime[16]//离开时间carinfor停车场车辆信息存储结构//栈carstack存储结构typedefstructcarstack{LPTCARINFORlpCarInfor;//车辆信息intnTop;//栈顶元素下标intnStackSize;//栈容量}TCARSTACK,*LPTCARSTACK
数据结构课程设计--模拟停车场管理问题 来自淘豆网m.daumloan.com转载请标明出处.