停车场管理系统代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// 1、停车场管理.cpp : Defines the entry point for the console application. //
^include stdafx.h*'
^include vcon 1o.h>
^include
^include
^include
^include
//清空当前屏幕
#define ClearScreen() system( 'cls M )
〃设置背景前景颜色
//#define setcolor() system(u color 2f )
//显不字符串szPrompt并等待用户按下任意键
#define Pause( szPrompt) printf( %s: szPrompt ),getch()
typedef struct carinformation // 车辆信息
{
char szRegistrationMark[64]; // 车牌号
char szArrivalTime[16]; // 到达时间
char szEntranceT1me[16]; //进入停车场(开始计费)时间
char szDepartureTime[16]; // 离开时间
} TCARINFORMATION, *LPTCARINFORAAATION;
typedef struct carstack
{
LPTCARINFORMATION IpCarlnformation; // 车辆信息
int nTop; //栈顶元素下标
int nStackSize; // 栈容量
} TCARSTACK, *LPTCARSTACK;
//初始化栈IpCarStack,将其容量设置为nSize
void ln1tStack( LPTCARSTACK ftlpCarStack, int nSize )
{
IpCarStack = ( LPTCARSTACK ) malloc( sizeof ( TCARSTACK ));
lpCarStack->lpCarlnformation = ( LPTCARINFORMATION ) malloc( nSize * sizeof ( TCARINFORAAATION )
);
lpCarStack->nTop = -1;
lpCarStack->nStackSize = n Size;
}
// 车辆信息carinfo 入栈IpCarStack
void Push( LPTCARSTACK ftlpCarStack, TCARINFORAAATION carinfo )
{
IpCarStack-Top++;
lpCarStack->lpCarl nformation [lpCarStack->nTop] = carinfo;
}
//车辆信息从栈IpCarStack中弹出并存入carinfo
void Pop( LPTCARSTACK ftlpCarStack, TCARINFORMATION &carinfo ) {
carinfo = lpCarStack->lpCarlnformation[lpCarStack-> nTop];
IpCarStack->nTop・・;
}
//若栈IpCarstack空,返回TRUE;否贝!J,返回FALSE
BOOL IsStackEmptyf LPTCARSTACK IpCarStack )
{
return IpCarStackjnTop == -1;
}
//若栈IpStackFull满,返回TRUE;否则,返回FALSE
BOOL IsStackFulK LPTCARSTACK IpCarStack ) return lpCarStack->nTop == ( lpCarStack->nStackSize • 1 );
}
// 销毁栈IpCarStack,将指针IpCarStack 置为NULL
void DestroyStack( LPTCARSTACK &IpCarStack )
{
free( lpCarStack->lpCarlnformation );
free( IpCarStack );
IpCarStack = NULL;
}
typedef struct carnode // 链队结点信息
{
TCARINFORMATION carinfo; // 车辆信息
struct carnode *lpNext; //指向下一个元素的指针
} TCARNODE, *LPTCARNODE;
typedef struct carqueue // ¥连队
{
LPTCARNODE IpHead; // 头结点
LPTCARNODE IpRear; //指向当前队尾的指针
int nEffectivesize; //当前队中元素个数
} TCARQUEUE, *LPTCARQUEUE;
//初始化链队IpCarQueue
void lnitQueue( LPTCARQUEUE ftlpCarQueue )
{
IpCarQueue = ( LPTCARQUEUE ) malloc( sizeof( TCARQUEUE )); lpCarQueue->lpHead = ( LPTCARNODE) malloc( sizeof( TCARNODE ));