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

数据结构实验报告模拟停车场管理(含代码)

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

一、选择题(每小题2分,共20分)

模拟停车场管理

班级:物联网 姓名:XXX 学号:XXXXXXX 日期:4月9日

一、需求分析 1、程序的功能描述

按照从终端输入的数据序列进行模拟管理。

1)狭道停车用栈来实现,并且用的顺序栈,等车位的便道用队列来实现,并用链 式存储。

2)每一组输入信息包含三个数据项,汽车的“到达”和“离去”的信息,汽车牌 照号码,汽车“到达”或“离去”的时刻。

3)对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出车辆在停车场内或便道上的停车位置;若是车子离去,则输出车辆在停车场内停留的时间和缴纳的费用。(假设在便道等车的时间不收费)

4)选作内容:(1)便道也是要收费的,仅仅比狭道收费便宜点。 (2)狭道上的车可以直接开走。

2、输入/输出的要求

首先选择操作的模块,根据提示输入车牌和到达时间,程序会告知是否停满或者停车车位。车牌为10个字符以内的字符串,时间的输入中间有冒号把时分隔开。

页脚内容1

一、选择题(每小题2分,共20分)

3、测试数据

1 苏D543 1:10 1 苏Q123 1:20 1 苏D145 1:30 二、概要设计

1、本程序所用的抽象数据类型的定义 typedef struct NODE{

CarNode *stack[MAX+1];

int top;

}SeqStackCar;//狭道的堆栈顺序存储 typedef struct car{

CarNode *data;

struct car *next;

}QueueNode;//队列的链式存储 typedef struct Node{

QueueNode *head;

QueueNode *rear;

页脚内容2

一、选择题(每小题2分,共20分)

}LinkQueueCar;//便道上等候的队列定义

2、主模块的流程及各子模块的主要功能

1车辆到达:int Arrival(SeqStackCar *Enter,LinkQueueCar *W)首先定义一个栈和队列的结构体指针 ○

为:*p , *t 。然后申请一个车辆信息的内存空间,并把它赋给栈指针。 车辆到达时就输入车牌号,并通过if(Enter->top

2车辆离开: void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) ○

定义一个整型变量room 记录要离开车辆的位置,定义两个栈指针和一个队列指针,

用个if(Enter->top>0) 确保栈不空,然后用个while(1) 确保输入的车辆离开位置的合法 性。如果不和法,显示输入有误,要重新输入。通过while(Enter->top>room) 判断离开车辆的位置,如果是中间位置,就要再用一个栈前面临时开出来的车,等要开出的车开出后,再把临时栈的车看进 车场内,并要调用PRINT(p,room); 这个函数计算显示费用。然后还要用 if((W->head!=W->rear)&&Enter->top

页脚内容3

一、选择题(每小题2分,共20分)

初始化两个栈列车场便道退Room对判断栈是元素进栈元素进队栈Enter元队列队列中元页脚内容4

一、选择题(每小题2分,共20分)

3、模块之间的层次关系

主函数中包含着各个函数模块,各模块也在互相调用。比如,离开函数中要计算停车费,故要调取价格函数。价格函数计算要用到离开和进入的时间,又要调用进入和离开函数。

三、详细设计

1、采用C语言定义相关的数据类型

#define MAX 3 // 停车场最大容量为3辆,便于观察 #define price 0.05

typedef struct time{ // 定义时间结构体

int hour; int min;

}Time;

typedef struct node{ // 定义车辆信息结构体

char num[10];

Time reach; Time leave; }CarNode;

页脚内容5

数据结构实验报告模拟停车场管理(含代码)

一、选择题(每小题2分,共20分)模拟停车场管理班级:物联网姓名:XXX学号:XXXXXXX日期:4月9日一、需求分析1、程序的功能描述按照从终端输入的数据序列进行模拟管理。1)狭道停车用栈来实现,并且用的顺序栈,等车位的便道用队列来实现,并用
推荐度:
点击下载文档文档为doc格式
3mmih93p8303gjy5zd2f62h6002tw800la4
领取福利

微信扫码领取福利

微信扫码分享