数据结构课程设计报告报告(八皇后和停车场)(5)

2019-09-01 09:22

第2章 停车场管理问 2.6.3队列模块

实现队列抽象数据类型

数据对象:D={aiai∈ElemSet,i=1,2,??,n,n=0}

数据关系:R1={ai-1,aiai-1,ai∈D,i=2,??,n}约定中端为队列头,后端为队列尾。

2.6.4模块调用关系

主程序模块

栈模块1

队列模块

栈模块2

图2-2 模块调用关系

栈模块1----模拟停车场 栈模块2----模拟倒车场 队列模块----模拟车道

2.7详细设计与源程序

2.7.1详细设计

以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据序

- 17 -

经济管理学院本科课程设计论文 列进行模拟管理。另设一个栈,临时停放为离去的汽车让路而从停车场退出来的汽车。栈以顺序存储结构实现,队列以链表存储结构实现。

停车场栈park模拟停车场。 临时栈Aux-park模拟倒车场。 便道队列Road模拟停车场外便道。

程序运行后,先设定停车时间单位和计费单位,再设定停车场容量(测试数据设定停车场容量n=2)。继续输入车辆数据:车辆属性(到达’A’或离开’D’)、车牌号、时间(到达时间或离开时间)。程序根据输入数据中的“车辆属性”进入该属性程序模块。输出车辆停放位置或离开时的收据。然后循环,继续输入车辆数据。当输入车辆数据为’E’时,程序自动退出。

2.7.2部分源程序

停车场问题管理程序代码如下:

#include//定义输入/输出函数

#include//数据流输入/输出 #include//字符串处理

#include//定义数学函数

#include //定义杂项函数及内存分配函数 #define size 2 //停车场位置数 //模拟停车场的堆栈的性质 typedef struct zanlind{ int number; //汽车车号

int ar_time; //汽车到达时间 }zanInode;

typedef struct{

zanInode *base; //停车场的堆栈底 zanInode *top; //停车场的堆栈顶

int stacksize_curren; }stackhead;

//堆栈的基本操作;

void initstack(stackhead &L) //构造一个空栈 {

L.base=(zanInode*)malloc(size*sizeof(zanlind)); if(!L.base)exit(0); //存储分配失败 L.top=L.base;

- 18 -

第2章 停车场管理问 L.stacksize_curren=0; }

void push(stackhead &L,zanInode e) //把元素e压入L栈成为新的栈顶元素

{

*L.top++=e;

L.stacksize_curren++;

}

void pop(stackhead &L,zanInode &e) //把元素e弹出L栈 {

if(L.top==L.base) {

cout<<\停车场为空 !!\ return; }

e=*(--L.top);

L.stacksize_curren--; }

//模拟便道的队列的性质

typedef struct duilie{ int number; //汽车车号

int ar_time; //汽车到达时间 struct duilie *next; }*queueptr;

Typedef struct{

queueptr front; //便道的队列的队头 queueptr rear; //便道的队列的队尾 int length; }linkqueue;

//队列的基本操作

void initqueue(linkqueue &q) //构造一个空队列 {

- 19 -

经济管理学院本科课程设计论文 2.8调试过程中的问题及系统测试情况

2.8.1出现的问题

(1)编程过程中忽略头文件的作用,导致漏掉了一个头文件,以致产生下列错误提示。

错误提示:error C2065: 'malloc' : undeclared identifier error C2065: 'exit' : undeclared identifier 执行 cl.exe 时出错.

在代码中加上#define〈stdlib.h〉,解决此问题。

(2)没有良好的编程习惯,没有合适的缩进及换行,给程序的调试带来了比较多的困难。

(3)编程过程中比较粗心,一些程序结束的分号和成对出现的大括号忘记写。

2.8.2运行过程

图2-3 这是停车场系统的登录界面。

- 20 -

第2章 停车场管理问

图2-4 车辆到达登记信息,为了便于观察,车场内最多可停3辆车,

当停车场内已满时,只登记车牌号,然后进入便道上,即进入队列中。

- 21 -


数据结构课程设计报告报告(八皇后和停车场)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:苏教版小学语文教材一至六年级生字表(凤凰传媒)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: