郑州轻工业学院—实训报告—停车场管理系统.doc
郑州轻工业学院实训报告实训名称:停车场管理系统姓名:院(系):软件学院专业班级:信息安全08-02班学号:指导教师:成绩:时间:2010年06月14日至2010年06月18日郑州轻工业学院软件学院实训任务书一、题目停车场管理系统二、实训的性质和任务数据结构实训是在完成理论课程学习之后安排的综合实践训练,要求学生能根据数据结构中所讲到的各种数据类型以及它们顺序和链式存储,在具体的应用中能运用并实现各种数据的各种不同操作。通过一周的综合实训,使学生加深对如何将逻辑关系的数据按一定的存储方式存储在计算机内。并为以后的编程打好基础。三、实训的基本要求1、熟悉各种数据类型及它们在计算机中的存储方式;2、熟悉各种数据类型的基本操作,各基本操作的实现。3、能综合运用各种数据类型实现一些具体的问题。四、实训内容及要求天/日期任务描述通过标准10年6月14日需求分析;算法分析完成相关设计内容10年6月15日绘制流程图;程序代码设计完成相关设计内容10年6月16日程序代码设计与实现完成相关设计内容10年6月17日程序代码实现、测试完成相关设计内容10年6月18日实训文档书写、作品成绩评定完成相关设计内容五、考核指标及成绩评定实训成绩由下面构成:平时成绩(10%)+作品(70%)+实训报告(20%)=总评成绩作品成绩评定标准:1、全部完成90-1002、主要功能完成70-903、部分功能完成60-704、少部分完成40-605、几乎没做0-40完成期限:2010年06月18日指导教师签章:专业负责人签章:教学院长签章2010年06月18日目录需求说明.5功能描述.5系统设计及实现.51.头文件及宏定义.52.时间和汽车信息结构体的定义(部分代码).53.栈和队列的定义(部分代码).64.栈和队列的初始化(部分代码).6实现过程.61.开始界面:输入车库容量.62.输入车辆到达信息.73.当车库停满车时临时停到便道上不收车费.74.车辆离开后车库有车位便道上的车进入车库并显示离去车的收费记录.75.显示车库及便道信息.86.停止输入显示制作者信息及退出程序.8实训心得.8附录(代码).9需求说明设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。功能描述以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现系统设计及实现1.头文件及宏定义#include<conio.h>#include<malloc.h>#include<stdio.h>#include<stdlib.h>#include<windows.h>#defineClearScreen()system("cls")/清空当前屏幕#definesetcolor()system("color2f")/设置背景前景颜色#definePause(szPrompt)printf("%s",szPrompt),getch()2.时间和汽车信息结构体的定义(部分代码)typedefstructcarinformation/车辆信息charszRegistrationMark64;/车牌号charszArrivalTime16;/到达时间charszEntranceTime16;/进入停车场(开始计费)时间charszDepartureTime16;/离开时间TCARINFORMATION,*LPTCARINFORMATION;3.栈和队列的定义(部分代码)typedefstructcarqueue/链队LPTCARNODElpHead;/头结点LPTCARNODElpRear;/指向当前队尾的指针intnEffectiveSize;/当前队中元素个数TCARQUEUE,*LPTCARQUEUE;4.栈和队列的初始化(部分代码)voidInitQueue(LPTCARQUEUE&lpCarQueue)lpCarQueue=(LPTCARQUEUE)malloc(sizeof(TCARQUEUE);lpCarQueue->lpHead=(LPTCARNODE)malloc(sizeof(TCARNODE);lpCarQueue->lpHead->lpNext=NULL;lpCarQueue->lpRear=lpCarQueue->lpHead;lpCarQueue->nEffectiveSize=0;实现过程1.开始界面:输入车库容量2.输入车辆到达信息3.当车库停满车时临时停到便道上不收车费4.车辆离开后车库有车位便道上的车进入车库并显示离去车的收费记录