好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

-

(‘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个栈模块——实现栈抽象数据类型。 ③队列模块——实现队列抽象数据类型。

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

总结

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

-(‘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’表示输出(en
推荐度:
点击下载文档文档为doc格式
8doow6knjy0cqsi0v0jd0weks4q8c700nvx
领取福利

微信扫码领取福利

微信扫码分享