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

📄 book.c

📁 用C语言编写实现VCD功能
💻 C
📖 第 1 页 / 共 2 页
字号:
#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 + -