📄 public.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 + -