资源简介
C语言实现停车场管理系统,用栈和队列等模拟~~~~~~~~~
代码片段和文件信息
//zhao.h文件
*****************************************
#include
#include
#include
#include
#include
// 清空当前屏幕
#define ClearScreen() system( “cls“ )
// 显示字符串 szPrompt 并等待用户按下任意键
#define Pause( szPrompt ) printf( “%s“ szPrompt )getch()
typedef struct carinformation // 车辆信息
{
char szRegistrationMark[64]; // 车牌号
char szArrivalTime[16]; // 到达时间
char szEntranceTime[16]; // 进入停车场(开始计费)时间
char szDepartureTime[16]; // 离开时间
} TCARINFORMATION *LPTCARINFORMATION;
typedef struct carstack
{
LPTCARINFORMATION lpCarInformation; // 车辆信息
int nTop; // 栈顶元素下标
int nStackSize; // 栈容量
} TCARSTACK *LPTCARSTACK;
// 初始化栈 lpCarStack 将其容量设置为 nSize
void InitStack( LPTCARSTACK &lpCarStack int nSize )
{
lpCarStack = ( LPTCARSTACK ) malloc( sizeof ( TCARSTACK ) );
lpCarStack->lpCarInformation = ( LPTCARINFORMATION ) malloc(
nSize * sizeof ( TCARINFORMATION )
);
lpCarStack->nTop = -1;
lpCarStack->nStackSize = nSize;
}
// 车辆信息 carinfo 入栈 lpCarStack
void Push( LPTCARSTACK &lpCarStack TCARINFORMATION carinfo )
{
lpCarStack->nTop++;
lpCarStack->lpCarInformation[lpCarStack->nTop] = carinfo;
}
// 车辆信息从栈 lpCarStack 中弹出并存入 carinfo
void Pop( LPTCARSTACK &lpCarStack TCARINFORMATION &carinfo )
{
carinfo = lpCarStack->lpCarInformation[lpCarStack->nTop];
lpCarStack->nTop--;
}
// 若栈 lpCarstack 空返回 TRUE;否则返回 FALSE
BOOL IsStackEmpty( LPTCARSTACK lpCarStack )
{
return lpCarStack->nTop == -1;
}
// 若栈 lpStackFull 满返回 TRUE;否则返回 FALSE
BOOL IsStackFull( LPTCARSTACK lpCarStack )
{
return lpCarStack->nTop == ( lpCarStack->nStackSize - 1 );
}
// 销毁栈 lpCarStack将指针 lpCarStack 置为 NULL
void DestroyStack( LPTCARSTACK &lpCarStack )
{
free( lpCarStack->lpCarInformation );
free( lpCarStack );
lpCarStack = NULL;
}
typedef struct carnode // 链队结点信息
{
TCARINFORMATION carinfo; // 车辆信息
struct carnode *lpNext; // 指向下一个元素的指针
} TCARNODE *LPTCARNODE;
typedef struct carqueue // 链队
{
LPTCARNODE lpHead; // 头结点
LPTCARNODE lpRear; // 指向当前队尾的指针
int nEffectiveSize; // 当前队中元素个数
} TCARQUEUE *LPTCARQUEUE;
// 初始化链队 lpCarQueue
void InitQueue( LPTCARQUEUE &lpCarQueue )
{
lpCarQueue = ( LPTCARQUEUE ) malloc( sizeof( TCARQUEUE ) );
lpCarQueue->lpHead = ( LPTCARNODE) malloc( sizeof( TCARNODE ) );
lpCarQueue->lpHead->lpNext = NULL;
lpCarQueue->lpRear = lpCarQueue->lpHead;
lpCarQueue->nEffectiveSize = 0;
}
// 车辆信息 carinfo 入队 lpCarQueue
void EnQueue( LPTCARQUEUE &lpCarQueue TCARINFORMATION carinfo )
{
LPTCARNODE lpCarNode = ( LPTCARNODE ) malloc( sizeof( carnode ) );
lpCarNode->carinfo = carinfo;
lpCarNode->lpNext = NULL;
lpCarQueue->lpRear->lpNext = lpCarNode;
lpCarQueue->lpRear = lpCarQueue->lpRear->lpNext;
lpCarQueue->nEffectiveSize++;
}
// 队头元素从链队 lpCarQueue 中出队并存入 carinfo
void DeQueue( LPTCARQUEUE &lpCarQueue TCARINFORMATION &carinfo )
- 上一篇:QML_MVC_Demo
- 下一篇:基本图形填充课程设计报告+代码
相关资源
- 后缀表达式求值
- c++ 栈应用 使用标准库函数 源代码 原
- 数据结构的顺序栈的逆置和合并
- 递归和非递归解决迷宫问题
- c++链表队列的实现
- 停车场管理问题 C++/C数据结构
- 约瑟夫环问题 循环队列实现C++源码
- 程序创建两个线程,第一个线程没有
- C++ 停车场管理 数据结构 课程设计
- n皇后问题队列分支限界法
- C语言栈和队列代码实现
- Disruptor C++版(仅支持单生产者)
- 用C++栈写的中缀表达式求解
- 多级反馈队列调度算法C语言源代码
- 操作系统多级反馈队列模拟程序
- 数据结构栈、队列、二叉树、顺序查
- 算法题《武士巡逻》的C++代码
- 基于顺序表的学生信息管理系统.cpp
- 走迷宫算法
- 二叉树遍历
- C++ 跨平台 异步消息队列
- 用栈实现十进制转换成二进制(c语言
- 数据结构上机 由用户输入n个10以内的
- c++用栈实现四则运算
- c++实现四则运算器源码 支持括号
- 多服务台排队系统的模拟
- 由用户输入n个10以内的数,每输入i
- C++停车场管理系统的完整代码.txt
- 栈实现中缀表达式到后缀表达式的转
- 表达式求值(C语言栈实现)
评论
共有 条评论