停车场管理模拟设计.doc
文本预览下载声明
沈航北方科技学院
课程设计说明书
课程名称 数据结构课程设计
教 学 部 工学一部
专 业 计算机科学与技术
班 级
学 号
学生姓名
指导教师 史 俊
2012年1月
停车场管理模拟设计
目录
1.绪论 2
2. 系统分析 3
2.1 数据需求 3
2.2功能需求 3
2.3 性能需求 3
3. 总体设计 3
3.1功能模块设计 3
3.2系统设计方案 5
4. 详细设计 6
4.1页面设计模块 6
4.2主要功能模块 6
5. 调试与测试 7
5.1 调试 7
5.2 测试 8
附录1-用户手册 11
附录2-源程序 13
摘要
随着,计算机已的各个领域,且可以解决一些抽象化的具体问题,更多地用于控制,管理及数据处理等非数值计算的处理工作,这便为我们的日常生活提供了很多的方便,譬如停车场管理模拟的问题,以栈模拟停车场,以队列模拟车场外的便道,按照输入数据序列进行模拟管理汽车牌照号码本文从分析课题的背景、意义、等出发,分别从总体设计、详细设计、测试等方面介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结?栈队列停车场为我们的日常生活提供了很多的方便,设停车场是一个可停放n辆汽车的狭长通道只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,最先到达的第一辆车停放在停车场的最,若车场已停满,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车可开入;当停车场内某辆车要离开,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆车在它离开停车场时必须按停留的时间交纳费用。
以栈模拟停车场,以队列模拟车场外的便道,按照输入数据序列进行模拟管理。每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。
2.1 数据需求
本系统主要是。系统主要是。停车场管理模拟的问题,以栈模拟停车场,以队列模拟车场外的便道,按照输入数据序列进行模拟管理汽车牌照号码
(3) 存储结构
以栈模拟停车场,以队列模拟车场外的便道,按照输入数据序列进行模拟管理。①两个栈和一个队列。
汽车在停车场内按车辆到达时间的先后顺序,最先到达的第一辆车停放在停车场的最,若车场已停满,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车可开入;当停车场内某辆车要离开,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场,每辆车在它离开停车场时必须按停留的时间交纳费用。
图1功能模块设计图
(1) 查看停车场状况:停车的位置、车牌号;
(2) 车辆到达:停车的位置、到达的时间、车牌号;
(3) 车辆离开:离开的时间、停车的费用。
4. 详细设计
4.1页面设计模块
typedef struct
{
time hh,mm;
int num ; //车牌号
int arrtime; //到达/离开时间
}ELEMTP; //顺序栈的数据元素类型
typedef struct
{
ELEMTP elem[N];
int top;
}SqStack; //顺序栈类型
typedef struct node
{
int num; //车牌号/便道上的车辆数量
struct node *next;
}QNode; //链队列的数据元素类型
typedef struct
{
QNode *front, *rear;
}LQueue; //链队列类型
图2显示停车场状况流程图
(2)车辆到达
首先判断车辆是进入停车场还是进便道,以栈模拟停车场,以队列模拟车场外的便道
图3车辆到达流程图
(3)车辆离开
选择车辆离开,先在栈中查找,其后的车倒入栈2中,离开后再将栈2中的车倒入栈1,并根据停车时间计算停车费用。如果没找到,到队列(便道)中继续查找。
图4车辆离开流程图
5. 调试与测试
5.1 调试
1.数据输入:车辆不是按固定的顺序进行停放和离开。
车辆1: 11111 ;
车辆2: 22222;
车辆3: 33333;
车辆4: 44444
车辆5: 55555;
出现车牌为“11111”与“33333”
显示全部