第一范文网 - 专业文章范例文档资料分享平台

停车场管理系统需求分析与概要设计 - 图文

来源:用户分享 时间:2025/11/19 11:38:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

-

(‘A’,1,5),(‘A’,2,15),(‘D’,1,5),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。其中:‘A’表示到达(arrival);‘D’表示离去(departure);‘E’表示输出(end)。

五、系统功能模块图和程序流程图 停车场管 理系统 车位综合管停车处理 理子系统 子系统 核对批准车查询查询查询 车辆辆进入收费空闲停车 信息 停车场 记录 车位 信息 图5.1 系统功能模块图

收费系统 固定车位收费处理 便道车位收费 开始 初始化两个栈Stack和Stack2及一个队列Queue 进入主菜单 车到达 车离开 列表显示 退出 总结 车场是否为空 车场内信息 便道信息 -

图5.2 程序流程图

六、概要设计

(1)设定栈的抽象数据类型定义为: ADT stack{

数据对象:D={ai|ai∈charset,i=1,2,…,n,n>=0} 数据关系:R1={/ai-1,ai∈D,i=2,…,n} 基本操作 InitStack(&S)

操作结果:构造一个空栈S。 DestroyStack(&S)

初始条件:栈S已经存在。 操作结果:销毁栈S。 ClearStack(&S)

初始条件:栈S已经存在。 操作结果:将S清空为空栈。 StackLength(&S)

初始条件:栈S已经存在。 操作结果:返回栈S的长度。 StackEmpty(&S)

初始条件:栈S已经存在。

操作结果:若S为空栈,则返回TURE,否则返回FALSE。GetTop(S,&e)

总结

-

初始条件:栈S已经存在。

操作结果:若栈S不空,则以e返回栈顶元素。 Push(&S,e)

初始条件:栈S已经存在。

操作结果:在栈S的栈顶插入新的栈顶元素e。 Pop(&S,&e)

初始条件:栈S已经存在。

操作结果:删除S的栈顶元素,并以e返回其值。 StackTraverse(S,visit()) 初始条件:栈S已经存在。

操作结果:从栈底到栈顶一次对S中的每个元素调用函数visit()。}ADT stack

(2)设定链式队列的抽象数据类型为: typedef struct Qnode{

QelemType data; Struct Qnode *next; }Qnode,*QueuePtr;

typedef struct{ QueuePtr front; QueuePtr teat; }

ADT Queue{

数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n>=0} 数据关系:R1={/ai-1,ai∈D,i=2,…,n} 约定其中一端为队列头,一端为队列尾。 基本操作

InitQueue(&Q)

操作结果:构造一个空队列Q。 DestroyQueue(&Q)

初始条件:队列Q已经存在。

操作结果:队列Q被销毁,不再存在。 ClearQueue(&Q)

初始条件:队列Q已经存在。 操作结果:将Q清空为空队列。 QueueLength(Q)

初始条件:队列Q已经存在。

操作结果:返回Q的元素个数,即队列的长度。

总结

-

QueueEmpty(Q)

初始条件:队列Q已经存在。

操作结果:若Q为空队列,则返回TURE,否则返回FALSE。 GetHead(Q,&e)

初始条件:Q为非空队列。

操作结果:用e返回Q队列头元素。 EnQueue(&Q,e)

初始条件:队列Q已经存在。

操作结果:插入元素e为Q的新队尾元素。 DeQueue(&Q,&e)

初始条件:Q为非空队列。

操作结果:删除Q的队头元素,并以e返回其值。 QueueTraverse(Q,visit()) 初始条件:队列Q已经存在。

操作结果:从队头到队尾,依次对Q的每一个数据元素调用函数visit()。一旦visit()失败,则操作失败。 }ADT Queue

(3)本程序有4个模块 ①主程序模块 main(){

初始化

while(命令==“1”) 接受命令;/*绘表*/ do{命令;}

while(重复条件) if(条件){

If(条件)

接受命令; 处理命令;

for(初始值;循环条件;自加运算){} for(初始值;循环条件;自加运算){} else if{

接受命令; 处理命令; } }

if (条件){

接受命令; 处理命令; do{命令;}

while(循环条件){

接受命令; 处理命令;

总结

-

}

} else{

接受命令; 处理命令; }

}

②2个栈模块——实现栈抽象数据类型。 ③队列模块——实现队列抽象数据类型。

④各模块之间的调用关系:主程序模块、栈模块以及队列模块之间的关系。

总结

停车场管理系统需求分析与概要设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8doow6knjy0cqsi0v0jd0weks4q8c700nvx_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top