数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
目 录
设计目的………………………………2
设计内容………………………………2
题目 …………………………………carinfor // 车辆信息
{
char szRegMark[64]; // 车牌号
char szArrTime[16]; // 到达时间
char szEntTime[16]; // 进入停车场(开始计费)时间
char szDepTime[16]; // 离开时间
} TCARINFOR, *LPTCARINFOR;
szRegMark[64]//车牌号
szArrTime[16]//到达时间
szEntTime[16]//计费时间
szDepTime[16]//离开时间
carinfor
停车场车辆信息存储结构
//栈carstack存储结构
typedef struct carstack
{
LPTCARINFOR lpCarInfor; // 车辆信息
int nTop; // 栈顶元素下标
int nStackSize; // 栈容量
} TCARSTACK, *LPTCARSTACK;
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
栈顶元素下标
nTop
停车场carstack(栈)存储结构
lpcarinfor
nStackSize=nTop+1
//便道车辆信息(存储结构)
typedef struct carnode // 链队结点信息
{
TCARINFOR carinfo; // 车辆信息
struct carnode *lpNext; // 指向下一个元素的指针
} TCARNODE, *LPTCARNODE;
szRegMark[64]//车牌号
szArrTime[16]//到达时间
szEntTime[16]//计费时间
szDepTime[16]//离开时间
carinfor
便道车辆信息存储结构
// 链队carqueue存储结构
typedef struct carqueue
{
LPTCARNODE lpHead; // 头结点
LPTCARNODE lpRear; // 指向当前队尾的指针
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
int nEffSize; // 当前队中元素个数(有效车位)
} TCARQUEUE, *LPTCARQUEUE;
LPTCARNODE lpRear
便道carsqueue(队列)存储结构
LPTCARNODE lpHead
lpcarinfor
next
^
程序运行界面
输入停车场容量,创建栈
开 始
根据当前提示操作
取得key值
向栈或队列加入元素信息
向栈或队列删除元素信息
显示栈和队列的停车情况
退出程序
E、释放空间
A
D
O
主要算法的流程图及功能描述
(1)流程图:
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
数据结构课程设计模拟停车场管理问题
(2)系统模块划分:
车进入停车场
判断停车场是否已满
车进入停车场
记录时间开始计费
车辆离开
记录离开时间计算持续时间和费用
否
是
进入便道
记录进入时间但不计费
判断停车场是否有空位
否
继续等待
是
(3)算法描述:
void InitStack( LPTCARSTACK &lpCarStack, int nSize )
初始化栈 lpCarStack,,为栈和车辆信息分配储存空间,将其容量设置为 nSize.
int InitQueue( LPTCARQUEUE &lpCarQueue )
初始化链队 lpCarQueue,分配队列存储空间和头结点空间,有效车位初
数据结构课程设计模拟停车场管理问题 来自淘豆网m.daumloan.com转载请标明出处.