停车场管理数据结构设计报告.docx

上传人:b****1 文档编号:14091522 上传时间:2023-06-20 格式:DOCX 页数:13 大小:129.22KB
下载 相关 举报
停车场管理数据结构设计报告.docx_第1页
第1页 / 共13页
停车场管理数据结构设计报告.docx_第2页
第2页 / 共13页
停车场管理数据结构设计报告.docx_第3页
第3页 / 共13页
停车场管理数据结构设计报告.docx_第4页
第4页 / 共13页
停车场管理数据结构设计报告.docx_第5页
第5页 / 共13页
停车场管理数据结构设计报告.docx_第6页
第6页 / 共13页
停车场管理数据结构设计报告.docx_第7页
第7页 / 共13页
停车场管理数据结构设计报告.docx_第8页
第8页 / 共13页
停车场管理数据结构设计报告.docx_第9页
第9页 / 共13页
停车场管理数据结构设计报告.docx_第10页
第10页 / 共13页
停车场管理数据结构设计报告.docx_第11页
第11页 / 共13页
停车场管理数据结构设计报告.docx_第12页
第12页 / 共13页
停车场管理数据结构设计报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

停车场管理数据结构设计报告.docx

《停车场管理数据结构设计报告.docx》由会员分享,可在线阅读,更多相关《停车场管理数据结构设计报告.docx(13页珍藏版)》请在冰点文库上搜索。

停车场管理数据结构设计报告.docx

停车场管理数据结构设计报告

题目:

停车场管理

1需求和规格说明1

1.1用栈模拟停车场,队列模拟临时便道。

2

1.2建立停车场和临时便道,若栈慢则进入临时便道等待2

2设计2

2.1设计思想2

2.2设计表示3

2.2.1存储结构3

2.2.2涉及操作20

2.3实现注释23

2.4详细解释23

2.4.1功能示意图23

2.4.2流程示意图24

3用户手册28

4调试报告28

5源代码及运行结构截图29

5.1源代码29

5.2运行截图30

6课程设计总结

1需求和规格说明

1.1用栈模拟停车场,队列模拟临时便道。

1.2建立停车场和临时便道,若栈慢则进入临时便道等待

2设计

2.1设计思想

汽车在停车场内进出是按照栈的运算方式来实现的,先到的先进停车场;停车场的汽车离开停车场时,汽车场内其它汽车为该辆汽车让路,也是按栈的方式进行;汽车在便道上等候是按队列的方式进行的。

因此,将停车场设计成一个栈,汽车让路也需要另一个栈来协助完成,汽车进出便道用队列来实现。

2.2设计表示

2.2.1存储结构

#definestacksize10

usingnamespacestd;

typedefstructsqstack

{

intdata[stacksize];

inttop;

}SqStackTp,*SqStack;

typedefstructlinked_queue

{

intdata;

structlinked_queue*next;

}LqueueTp,*Lqueue;

typedefstruct

{

Lqueuefront,rear;

}QueptrTp,*Queptr;

2.2.2涉及操作

voidWait(Queptrq,intdata)//停车场已满,进入需等待

intStopwait(Queptrq)//便道中得车辆停止等待

voidOutp(SqStacks,intdata)//车辆出停车场

voidIn(SqStacks,Queptrq,intdata)//车辆进停车场

voidOut(SqStacks,Queptrq,intdata)//车辆出停车场情况2.3实现注释

此部分内容详细参见源代码。

2.4详细解释

2.4.1功能示意图

图表总功能示意图

2.4.2流程示意图

3.用户手册

(1)用户首先选择进入或驶出停车场。

(2)进入停车场,判断停车场是否已满,如果已满则车辆进去便道等候,若不满,直接进入停车场。

(3)出停车场,用一个临时栈存要出栈之前的数据,找到将要出去的车号,将临时栈的元素进入原栈,若便道有车排队,则队列头的车辆停止等候,进入停车场

4调试报告

将13台车停入停车场,车号为11,12,13的车辆在便道依次等候,1号车出停车场,11号进入,2号出停车场,12号进入,3号车出停车场,13号进入,

5源代码及运行结构截图

5.1源代码

#include

#definestacksize10

usingnamespacestd;

typedefstructsqstack

{

intdata[stacksize];

inttop;

}SqStackTp,*SqStack;

typedefstructlinked_queue

{

intdata;

structlinked_queue*next;

}LqueueTp,*Lqueue;

typedefstruct

{

Lqueuefront,rear;

}QueptrTp,*Queptr;

voidWait(Queptrq,intdata)//停车场已满,进入需等待

{

cout<<"车号"<

 

Lqueuep=newLqueueTp();

p->next=NULL;

p->data=data;

q->rear->next=p;

q->rear=p;

}

intStopwait(Queptrq)//便道中得车辆停止等待

{

Lqueuep;

if(q->front!

=q->rear)

{

p=q->front->next;

cout<<"车号"<data<<"停止等待"<

q->front=p;

}

else

{

return-1;

}

returnp->data;

}

voidOutp(SqStacks,intdata)//车辆出停车场

{

intt[10],x=0;

while(s->data[s->top]!

=data)

{

t[x]=s->data[s->top];

s->top--;

x++;

}

cout<<"车号"<

s->data[s->top]=t[x-1];x--;

while(x>0)

{

s->top++;

s->data[s->top]=t[x-1];

x--;

}

}

voidIn(SqStacks,Queptrq,intdata)//车辆进停车场

{

if(s->top!

=stacksize)

{

cout<<"车号"<

s->data[s->top]=data;

s->top++;

}

else

{

cout<<"停车场已满,请等待。

"<

Wait(q,data);

}

}

voidOut(SqStacks,Queptrq,intdata)//车辆出停车场

{

if(s->top==stacksize)

{

Outp(s,data);

intsw=Stopwait(q);

if(sw>=0)

{

In(s,q,sw);

}

}

else

{

Outp(s,data);

}

}

intmain()

{

SqStacks=newSqStackTp();

s->top=0;

Queptrq=newQueptrTp();

q->front=q->rear=newLqueueTp();

q->front->next=NULL;

while

(1)

{

cout<<"停车请输入1"<

cout<<"取车请输入2"<

intn,data;

cin>>n;

cout<<"请输入车号"<

cin>>data;

if(n==1)

{

In(s,q,data);

}

else

{

Out(s,q,data);

}

cout<<"+++++--------+++++"<

}

return0;

}

5.2运行截图

6课程设计总结

(1)用栈实现停车场,先进后出,进入时判断是否满

(2)便道用队列存储,实现先等待的车辆先进入

(3)当车辆出停车场时,用临时栈存储指定车辆之前的车辆,指定车辆出停车场后将临时栈的数据重新存入原栈,等待的车辆可以进入停车场

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2