下载此文档

数据结构课程设计——停车场.doc


文档分类:办公文档 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
数据结构课程设计——停车场管理
一、需求分析:
1、问题描述:
设停车场是一个可停放n辆汽车的狭长通道,且只有一个门可供出入。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆汽车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原顺序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。应用个简单的栈与队列实现该功能。
2、基本要求
(1)以顺序栈模拟停车场,以链队列模拟便道。
(2)当车辆到达时,输入车辆车牌号、达到时间,得到车辆在停车场的位置。车牌号格式要正确,达到时间为00:00到24:00之间。
(3)当车辆离开时,输入车辆在停车场位置及离开时间,离开时间应在该车进入时间之后。等待车辆按顺序进入停车场,并输入进入时间,进入时间应在上辆离开车辆离开时间之后。
(4)打印出离开车辆的车牌号、到达时间、离开时间、停留时间及应缴费用。
(5)显示停车场和便道车辆信息。
二、概要设计
1、数据结构:
typedef struct time{
int hour;
int min;
}Time; /*时间结点*/
typedef struct node{
char num[10];
Time reach;
Time leave;
}CarNode; /*车辆信息结点*/
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;
}LinkQueueCar; /*模拟通道*/

2、模块
本程序首先定义了用来模拟停车场的堆栈模块和用来模拟便道的链队列模块为全局变量,然后编写主函数,在主函数中实现对其他各个模块的调用。在进入菜单界面后程序分别调用车辆到达、车辆离开、存车信息、退出这四个模块。其中车辆离开模块中又调用了打印离开车辆信息的函数,在存车信息模块中有调用了显示停车场车辆信息函数及显示便道车辆信息函数。最后从调用的四个函数模块回到主函数结束程序运行。
3、流程图:
开始
车场容量为
0~10



初始化栈及队列
车场是否为空
主菜单
车辆到达
进入车场
车辆离开
显示存车信息
退出
车场信息
便道信息
退出存车信息

进入便道

车场是否为空


车辆离开,并进行计费
便道是否为空

结束
进入车场
三、详细设计

typedef struct time
{
int hour;
int min;
}Time; /*时间结点*/


typedef struct node
{
char num[10];
Time reach;
Time leave;
}CarNode; /*车辆信息结点*/


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;
}LinkQueueCar; /*模拟通道*/
,创建栈
void InitStack(SeqStackCar *,int n); /*声明栈*/
{
int i;
s->top=0;
for(i=0;i<=n;i++)
s->stack[s->top]=NULL;
}
,创建一个队列用于便道
int InitQueue(LinkQueueCar *); /*声明便道*/
{
Q->head=(QueueNode *)malloc

数据结构课程设计——停车场 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cdsqbyl
  • 文件大小0 KB
  • 时间2015-04-19