📄 handle.c
字号:
#include"Head.h"
#include"Function.h"
#include"egg.h"
#include"GetTime.h"
//操作函数
void contrslist(void)// contrslist无意思——控制排队的函数
{
while(1)
{
for(i=1;i<=N;i++)
{
switch(window[i])
{
case 2:
q=5*i;
q=q-4;
draw2();
if((i!=N)&&(ordinarydoing<ordinaryComing))
{
ordinarydoing++;
window[i]=1;//状态改变为办理
win_state_signal[i]=1;
get_time();
ordinary[ordinarydoing]=i;//取窗口
ordinary_hour[ordinarydoing]=ptr->tm_hour;//取本地时间函数;
ordinary_min[ordinarydoing]=ptr->tm_min;
ordinary_sec[ordinarydoing]=ptr->tm_sec;
time_start[i]=(ptr->tm_min)*60+ptr->tm_sec;
q=5*i;
q=q-4;
itoa(ordinarydoing, o, 10);//整型转换字符型
drawO();
}
else if((i!=N)&&(VIPdoing<VIPcoming))
{
VIPdoing++;
window[i]=1;//状态改变为办理
win_state_signal[i]=1;
get_time();
VIP[VIPdoing]=i;//取窗口
VIP_hour[VIPdoing]=ptr->tm_hour;//取本地时间函数;
VIP_min[VIPdoing]=ptr->tm_min;
VIP_sec[VIPdoing]=ptr->tm_sec;
time_start[i]= (ptr->tm_min)*60+ ptr->tm_sec;
q=5*i;
q=q-4;
itoa(VIPdoing, v, 10);//转换
drawV();
}
else if(i==N)
{
if(VIPdoing<VIPcoming)
{
VIPdoing++;
window[i]=1;//状态改变为办理
win_state_signal[i]=1;
get_time();
VIP[VIPdoing]=i;//取窗口
VIP_hour[VIPdoing]=ptr->tm_hour;//取本地时间函数;
VIP_min[VIPdoing]=ptr->tm_min;
VIP_sec[VIPdoing]=ptr->tm_sec;
time_start[i]= (ptr->tm_min)*60+ ptr->tm_sec;
q=5*i;
q=q-4;
itoa(VIPdoing, v, 10);//转换
drawV();
}
else if(ordinarydoing<ordinaryComing)
{
ordinarydoing++;
window[i]=1;//状态改变为办理
win_state_signal[i]=1;
ordinary[ordinarydoing]=i;//取窗口;
ordinary_hour[ordinarydoing]=ptr->tm_hour;//取本地时间函数;
ordinary_min[ordinarydoing]=ptr->tm_min;
ordinary_sec[ordinarydoing]=ptr->tm_sec;
time_start[i]= (ptr->tm_min)*60+ ptr->tm_sec;
q=5*i;
q=q-4;
itoa(ordinarydoing, o, 10);//转换
drawO();
}
}
break;
case 0://休息中
get_time();
q=5*i;
q=q-4;
draw3();
time_finish_rest[i]=ptr->tm_sec+(ptr->tm_min)*60;
if((time_finish_rest[i]-time_begin_rest[i])>30)//计时
{
window[i]=2;//空闲
win_state_signal[i]=1;
}
break;
case 1://办理中
get_time();
time_finish[i]=ptr->tm_sec+ptr->tm_min*60;
if((time_finish[i]-time_start[i])>20)//计时
{
window[i]=2;//空闲
q=5*i;
q=q-4;
draw2();
win_state_signal[i]=1;//为egg函数作准备
}
break;
}
//draw1();
}
}
}
void ID_identification(int ID_identification_time)//ID_身份验证
{
int VIPnumber;
printf("请输入VIP身份号: \n");
scanf("%d",&VIPnumber);
if(VIPnumber%3==0)
{
VIPcoming++;
printf("您的VIP办理序号是: V%.2d 请您到休息区等候叫号 .\n\n\n",VIPcoming);
}
else if(ID_identification_time<3)
{
printf("您的输入有误,请重新输入 !\n");
ID_identification_time++;
ID_identification(ID_identification_time);
}
else
{
printf("您已经连续3次输入错误ID !\n请您重新确认身份后再输 !\n\n\n");
}
}
void windowJudge(int number)//窗口判断 -GetInput-Ln70
{
int n,total=0;
for(n=1;n<=N;n++)
total=total+window[n];
if((total>2)&&(window[number]==2))//空闲
{
window[number]=0;//休息
q=5*i;
q=q-4;
draw3();
printf("申请成功,您可以休息……\n\n\n");
win_state_signal[number]=1;
get_time();
time_begin_rest[number]=ptr->tm_sec+(ptr->tm_min)*60;
}
else if(window[number]==0)
printf("输入有误,您正处于休息中!\n\n\n");
else if(window[number]==1)
printf("对不起,您正处于工作中。\n\n\n");
else
printf("对不起,申请休息失败.请稍后再申请 !\n\n\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -