⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 public.h

📁 数据结构课程设计,实现一个停车场管理模拟的小程序,主要是对栈和队列的经典操作
💻 H
字号:
/********************************************public.h**********************************************/
/*
本文件中包含程序中必要的结构体,枚举类型,以及常用的函数
*/
#define STACK_INIT_SIZE ParkingSize			//把stack.h中的STACK_INIT_SIZE定义成为全局变量ParkingSize
unsigned int DisplayKind=1;					//显示标志,为1时显示详细过程,非1时只显示简略过程
unsigned int ParkingSize=10;				//栈的大小,即为停车场的空间大小
float Fee_Stack_A=2;						//A型汽车在停车场中的收费标准
float Fee_Stack_B=1.5;						//B型汽车在停车场中的收费标准
float Fee_Stack_C=1;						//B型汽车在停车场中的收费标准
float Fee_Queue_A=0.5;						//A型汽车在便道中的收费标准
float Fee_Queue_B=0.4;						//B型汽车在便道中的收费标准
float Fee_Queue_C=0.3;						//C型汽车在便道中的收费标准


enum Status
{
	TRUE,
	FALSE,
};				//定义枚举类型

enum _CarKind
{//车辆类型
	A,			//大型车辆,占用空间为2
	B,			//中型车辆,占用空间为1.5
	C,			//小型车辆,占用空间为1
};//enum

typedef struct CarInfo
{
	unsigned int CarNum;			//车牌号码
	struct tm* ArrTime;				//到达时刻
	struct tm* DepTime;				//离去时刻
	struct tm* ArrTemTime;			//进入便道时刻
	struct tm* DepTemTime;			//离开便道时刻
	_CarKind CarKind;				//汽车类型
}CarInfo;



//函数名:	sleep
//功能:		通过空循环来实现简单的延迟,按Esc或回车键中止延迟并返回对应值,
//			若因ESC被按下中止延迟则返回1
//			若因回车被按下中止延迟则返回2
//			若没有检测到按键,则返回0
//输入参数:	n(int)		"1,2,3"越大延迟时间越长
//返回值:	类型(int)
//			0			"延迟未被中止"
//			1			"ESC键被按下"
//			2			"回车键被按下"
int sleep(int n)
{	//延迟
	int i,m;
	char key;
	if(n==3)
		m=100000;
	else if(n==2)
		m=100000/2;
	else
		m=10000;
	for(i=0;i<=m;i++)
		if(kbhit())		
		{	//如果有键被按下
			key=getch();
			if(key==0x1B)//如果ESC被按下
				return 1;
			else if(key==0xD)//如果回车被按下
				return 2;
		}//if(k
	return 0;
}//sleep

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -