📄 book.c
字号:
#include "saveItem.c"
#include "saveload.c"
#ifndef _BOOK_
#define _BOOK_
/*______________________________________________________________________________________________________________________*/
/*选择单预约还是连续预约*/
void selectBook() /*Menu==3*/
{
switch(key)
{
case VK_RIGHT:
++Button[Menu];
if(Button[Menu]>2)
Button[Menu]=0;
B_Draw(Button[Menu]);
break ;
case VK_LEFT :
gotoxy(Button[Menu]*20,20);
--Button[Menu];
if(Button[Menu]<0)
Button[Menu]=2;
B_Draw(Button[Menu]);
break ;
case VK_ENTER:
switch(Button[Menu])
{
case 0:
if(length>=SIZE)
{
drawButton(17,22,"Itemlist is full!",1);
}
else
{
Menu=4;Button[Menu]=0;
BSC_Draw(Button[Menu],0);
item[length].scflag=0;
}
break; /*选择单预约*/
case 1: if(length>=SIZE)
{
drawButton(37,22,"Itemlist is full!",1);
}
else
{
Menu=5;Button[Menu]=0;
BSC_Draw(Button[Menu]+1,0);
item[length].scflag=1;
}break; /*还是连续预约*/
case 2: Menu=2;
clrscr();
M_Draw(Button[Menu]);
break;
}break;
case VK_ESC : Menu=2;clrscr();
M_Draw(Button[Menu]);
break;
}
}
/*______________________________________________________________________________________________________________________*/
void judgeDay(int se[8])
{
int i,y,m,mo[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int s[6];
for(i=0;i<6;i++)
{ s[i]=se[i];
s[i]&=DIG;
}
y=s[0]*1000+s[1]*100+s[2]*10+s[3];
m=s[4]*10+s[5];
if((y%4==0&&y%100!=0)||(y%400==0))
mo[1]=29;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(se[6]>'3') /*对日进行控制*/
se[6]='3';
if(se[6]=='3'&&se[7]>'1')
se[7]='1';
}
else if((m==2)&&mo[1]==29)
{
if(se[6]>'2') /*对日进行控制*/
se[6]='2';
if(se[6]=='2'&&se[7]>'9')
se[7]='9';
}
else if((m==2)&&mo[1]==28)
{
if(se[6]>'2') /*对日进行控制*/
se[6]='2';
if(se[6]=='2'&&se[7]>'8')
se[7]='8';
}
else
{
if(se[6]>'3') /*对日进行控制*/
se[6]='3';
if(se[6]=='3'&&se[7]>'0')
se[7]='0';
}
if(se[6]=='0'&&se[7]=='0')
se[7]='1';
}
/*______________________________________________________________________________________________________________________*/
/*输入预约信息到预约界面*/
void bookInput()
{
int x=length;
key=key&0xff;
if(!bmflag) x=length-Button[6]; /* 如果是Modify,则取的是item[length-Button[6]]*/
switch (Button[Menu])
{
case 0:
if('!'<key&&key<='~')
{
gotoxy(39+keypos[Button[Menu]],5);
name[keypos[Button[Menu]]]=key;
cprintf("%c",name[keypos[Button[Menu]]]);
keypos[Button[Menu]]++;
}
if(keypos[Button[Menu]]>7)
{
keypos[Button[Menu]]=0;
gotoxy(39+keypos[Button[Menu]],5);
}
break;
case 1:
if('0'<=key&&key<='9')
{
channel[keypos[Button[Menu]]]=key; /*channel*/
gotoxy(39+keypos[Button[Menu]],9);
cprintf("%c",channel[keypos[Button[Menu]]]); /*字符改变前*/
keypos[Button[Menu]]++;
}
if(keypos[Button[Menu]]>1)
{
keypos[Button[Menu]]=0;
gotoxy(39+keypos[Button[Menu]],9);
}
break;
case 2:
{ /*如果是连续预约,开始时间和终了时间都有*/
int i=0;
if(!keypos[Button[Menu]])
gotoxy(41+keypos[Button[Menu]],13);
if('0'<=key&&key<='9')
{
if(keypos[Button[Menu]]<8)
{
startdate[keypos[Button[Menu]]]=key;
startdate[0]='2';
startdate[1]='0';
if(startdate[2]>'1')
startdate[2]='1';
if(startdate[4]>='1')
startdate[4]='1';
else if(startdate[5]=='0')
startdate[5]='1';
if(startdate[4]=='1'&&startdate[5]>'2')
startdate[5]='2';
judgeDay(startdate); /*对天数进行控制*/
cprintf("%c",startdate[keypos[Button[Menu]]]);
}
else
{
enddate[keypos[Button[Menu]]-8]=key;
enddate[0]='2';
enddate[1]='0';
if(enddate[2]>'1')
enddate[2]='1';
if(enddate[4]>='1')
enddate[4]='1';
else if(enddate[5]=='0')
enddate[5]='1';
if(enddate[4]=='1'&&enddate[5]>'2')
enddate[5]='2';
judgeDay(enddate);
cprintf("%c",enddate[keypos[Button[Menu]]-8]);
}
keypos[Button[Menu]]++;
}
switch(keypos[Button[Menu]])
{
case 0:case 1:case 2:case 3:i=0;break;
case 4:
case 5: i=1;break;
case 6:
case 7: i=2;break;
case 8:
case 9:
case 10:
case 11: i=5; break;
case 12:
case 13: i=6; break;
case 14:
case 15: i=7;break;
case 16: keypos[Button[Menu]]=0;i=0;break;
}
gotoxy(i+41+keypos[Button[Menu]],13);
}
break;
case 3:
{
int i=0;
if(!keypos[Button[Menu]])
gotoxy(41+keypos[Button[Menu]],17); /*starttime和endtime都共同存在setime数组中*/
if('0'<=key&&key<='9')
{
setime[keypos[Button[Menu]]]=key;
if(setime[0]>'2')
setime[0]='2';
if(setime[0]=='2'&&setime[1]>'3')
setime[1]='3';
if(setime[2]>'5')
setime[2]='5';
if(setime[4]>'2')
setime[4]='2';
if(setime[4]=='2'&&setime[5]>'3')
setime[5]='3';
if(setime[6]>'5')
setime[6]='5';
cprintf("%c",setime[keypos[Button[Menu]]]);
keypos[Button[Menu]]++;
}
if(keypos[Button[Menu]]>7)
{
keypos[Button[Menu]]=0;
gotoxy(41+keypos[Button[Menu]],17);
}
else if(keypos[Button[Menu]]>5) i=11;
else if(keypos[Button[Menu]]>3) i=10;
else if(keypos[Button[Menu]]>1) i=1;
gotoxy(i+41+keypos[Button[Menu]],17);
}break;
} /*switch*/
} /* bookInput()*/
/*______________________________________________________________________________________________________________________*/
/*______________________________________________________________________________________________________________________*/
/*打印存入临时数组的预约信息*/
void ChtoNum()
{
int i;
for(i=0;i<4;i++)
{
starttime[i]=setime[i];
endtime[i]=setime[i+4];
starttime[i]&=DIG;
endtime[i]&=DIG;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -