- 12
- 0
- 约5.47千字
- 约 9页
- 2021-12-05 发布于天津
- 举报
实验题目模拟停车场管理
一、 需求分析
1、 程序的基本功能:
主控功能:介绍程序的基本功能,并给出程序功能所对应的键盘操作的提示,如车到 来或离去的表示方法,停车场或者便道的状态的查询方法提示等。
汽车到来:首先要查询当前停车的状态,当停车场非满时,将其驶入停车场(入栈), 开始计费;当停车场满时,让其进入便道等候(入队)。
汽车离开停车场:当某辆车要离开停车场的时候,比他后进停车场的车要为他让路,
(即将这些车依次“压入”辅助栈),开走请求离开的车辆,再将辅助栈中的车依次 出栈,“压入”停车场;同时根据离开的车在停车场停留的时间进行收费;最后查询 是否有车在便道等候,若有,将便道上的第一辆车驶入停车场(先出队,再入栈), 开始计费。
查询状态:用来在屏幕上显示停车位和便道上各位置的状态。
2、 输入输出要求:
输入:汽车“到达”或“离去”的信息、汽车牌照号码、汽车到达或离去的时刻。
输出:若是车辆到达,则输出车辆在停车场内或便道上的停车位置;若是车辆离去, 则输出车辆在停车场内停留的时间和应缴纳的费用(假设在便道上等候的时间不收 费)。
3、 测试数据:
当停车场容量为5时,连续有7辆车到来,牌照号分别为F001、F002、F003、FOCM、 F005、F006、F007,前5辆车应该进入停车位1?5车位,第6、7辆车应停入便道的1、 2位值上。牌照号为F003的汽车从停车场开走,应显示F005、F004的让路动作和F006 从便道到停车位上的动作。
二、 概要设计
1、 抽象数据类型的定义:
使用栈来模拟停车场,使用队列来模拟停车场外的便道;还需另设计一个辅助栈,临 时停放为给要离去的汽车让路而从停车场退出来的汽车。
2、 本程序包括?以下4个模块:
汽车进停车场:
{
如呆停车场满了,就将其余的车停放在便道,将车依次进队:
如果停车场没满,就将车依次进栈;
}
汽车出停车场:
{
显示车出停车场的信息,如果便道上有车则将车停入停车场,将车进站,并显示新 进入停车场的车辆信息;
}
查询停车场信息:
{
显示停车场停放车辆的信息:
显示便道等候车辆的信息:
}
主程序模块:
进入停车场;
驶出停车场;
查询停车场信息;
退出程序;
}
3、各程序模块之间的层次关系
主程序模块
汽车进入 汽车离开 查询车辆
三、详细设计:
1、 类型数据结构体的定义:
typedef struct Car
{
char license[N];
float time;
char state;
}Car; 〃汽车类型的定义
typedef stmct
{
Car Pack[NIAX_PARK];
mt top;
JParkStack; 〃顺序栈停车场的定义
typedef stmct qnode
{
Car data;
stmct qnode *next;
} Qnode; 〃各汽车信息的存储空间
typedef stmct
{
Qnode * front, *rear;
JRoadQueue; 〃用来表示队头和队尾位置的指针
2、 伪码算法:
#mcludeiostieam.h
#mcludestdlib.h
#mcludestrmg.h
#defin亡 MAX_PARK 4
#defiiie N 10
typedef stmct Cai
clw license [N]; float time;
char state;
}Car;
typedef stmct
{
Car Pack[NIAX_PARK];
mt top;
JPaikStack;
typedef stmct qnode
{
Car data;
stmct qnode *next;
} Qnode;
typedef stmct
{
Qnode * front, *rear;
JRoadQueue;
ParkStack *Iiut_ParkStack()
{
ParkStack *s;
s=new PaikStack;
s-top=-l;
return s;
}
int Empty_PaikStack(PaikStack*s)
{
if(s-top==-l)
return 1;
else
return 0;
}
void Push_ParkStack(ParkStack *s,Cai x)
{
S-tOp-H-; sticpy(s-Pack[s-top].license,x.license); s-Pack[s-top] .state=x.state; s-Pack[s-top] .time=x.tiine;
}
void Pop_PaikStack(ParkStack *s,Car *x)
{
*x=s-Pack[s-top];
s-top~;
}
RoadQueue *Ini
您可能关注的文档
最近下载
- 一种水性双组份环氧底漆及其制备方法和应用.pdf VIP
- 2021版 客户侧电能计量装置通用设计要求 第2部分 低压用电客户电能计量装置.docx VIP
- 一种水性环氧涂层及其制备方法与应用.pdf VIP
- NK材料——材料分析测试方法.pptx VIP
- 一种水性环氧防腐底漆及其制备方法.pdf VIP
- 特种设备安全教育培训记录.pdf VIP
- 东芝CV330A封线分析和总结.docx VIP
- 父母赠予金钱合同协议书.docx VIP
- 2021版 客户侧电能计量装置通用设计要求 第1部分 10kV用电客户电能计量装置.docx VIP
- 2025年湖南工艺美术职业学院单招英语考试题库及答案解析.docx VIP
原创力文档

文档评论(0)