停车场管理系统代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ));

相关文档
最新文档