数据结构课程设计报告停车场管理系统

上传人:新** 文档编号:469436433 上传时间:2023-01-05 格式:DOC 页数:8 大小:293KB
返回 下载 相关 举报
数据结构课程设计报告停车场管理系统_第1页
第1页 / 共8页
数据结构课程设计报告停车场管理系统_第2页
第2页 / 共8页
数据结构课程设计报告停车场管理系统_第3页
第3页 / 共8页
数据结构课程设计报告停车场管理系统_第4页
第4页 / 共8页
数据结构课程设计报告停车场管理系统_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数据结构课程设计报告停车场管理系统》由会员分享,可在线阅读,更多相关《数据结构课程设计报告停车场管理系统(8页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计报告系 别: 计算机信息与技术系 _班 级:_ _ B080604_ _ _学 号:_B080605_实训日期:2010-08-23至2010-08-27数据结构课程设计实验报告 开课实验室: ROOM-M_ 2010年08月27日班级B080604学号B080605姓名成绩课程名称数据结构实验项目名 称停车场管理系统指导教师赵亚军教师评语教师签名: 年 月 日一、实验目的1、 通过课程设计,加深对数据结构这一课程所学内容的进一步理解与巩固。2、 通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。3、 通过课程设计,提高程序开发功能,能运用

2、合理的控制流程编写清晰高效的程序。4、 通过课程设计,训练C程序调试能力,能将一个中小型各级组织系统联调通过。5、 通过课程设计,开发一个中小型系统,掌握系统研发全过程。6、 通话课程设计,培养分析问题、解决实际问题的能力。二、功能要求 设计一个停车场管理系统,模拟停车场的运作,通过此程序具备以下功能:1、要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的数据序列进行模拟管理2、要求处理的数据元素包括三个数据项:汽车“到达”或“离去”信息,汽车牌照号码及到达或离去的时间3、该系统完成以下功能:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是离去,则输出汽车在停车场内停留的时

3、间和应缴纳的费用(在便道上停留的时间不收费)4、要求栈以顺序结构实现,队列以链表实现三、设计要求1、独立完成全部代码的设计、编写、调试与部署,运行正确无误2、编写设计报告书 设计报告书应包括:(1) 问题描述和系统要求(2) 系统主要功能模块设计(3) 设计中遇到的问题及其解决方法(4) 系统运行报告(5) 总结 问题描述:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排以便道上的第

4、一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场时,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场应交纳的费用和它在停车场内停留的时间。 实现提示:汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(A,1,5)表示1号牌照车在5这个时刻到达,而(D

5、,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(E,0,0)时结束。本题可用栈和队列来实现。四、运行环境1 Microsoft Visual C+ 6.02 Microsoft Windows XP 操作系统五、实验步骤(绘制相应的流程图)Interface列表显示车辆出库车辆入库信息消除信息登入检索输出返回主界面六、实验过程原始代码#include#include#include#define MAX 5 /*车库容量*/#define price 0.05 /*每车每分钟费用*/typedef struct time int hour; int min;Time;

6、/*时间结点*/typedef struct node char num10; Time reach; Time leave;CarNode; /*车辆信息结点*/typedef struct NODE CarNode *stackMAX+1; int top;SeqStackCar; /*模拟车站*/typedef struct car CarNode *data; struct car *next;QueueNode;typedef struct Node QueueNode *head; QueueNode *rear;LinkQueueCar; /*模拟通道*/void InitSta

7、ck(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *); /*初始化便道*/int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/void main() SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; InitSt

8、ack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) printf(n*n); printf(n*停 车 场 管 理 系 统*n); printf(n*1.车辆到达登记 * 2.车辆离开登记*); printf(n * ); printf(n*); printf(n * ); printf(n*3.车辆列表显示 * 4. 退 出 系 统*n); printf(n* 欢*迎*使*用 *n); printf(n*n); printf(n*注意:请输入所需序号使用本系统*

9、n); while(1) scanf(%d,&ch); if(ch=1&chtop=0; for(i=0;istacks-top=NULL;int InitQueue(LinkQueueCar *Q) /*初始化便道*/ Q-head=(QueueNode *)malloc(sizeof(QueueNode); if(Q-head!=NULL) Q-head-next=NULL; Q-rear=Q-head; return(1); else return(-1);void PRINT(CarNode *p,int room) /*打印出站车的信息*/ int A1,A2,B1,B2; prin

10、tf(n车辆离开的时间为:n); scanf(%d:%d,&(p-leave.hour),&(p-leave.min); printf(n车牌号为:n); puts(p-num); printf(n其到达时间为: %d:%d,p-reach.hour,p-reach.min); printf(离开时间为: %d:%d,p-leave.hour,p-leave.min); A1=p-reach.hour; A2=p-reach.min; B1=p-leave.hour; B2=p-leave.min; printf(n应交费用为: %2.1f元,(B1-A1)*60+(B2-A2)*price); free(p);int Arrival(SeqStackCar *Enter,LinkQueueCar *W) /*车辆到达*/ CarNode *p; QueueNode *t; p=(CarNode *)malloc(sizeof(CarNode); flushall(); printf(n请输入车牌号(如:陕A00000):); gets(p-num); if(Enter-toptop+; printf(n车辆在车场第%d位置.,Enter-top); pri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号