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

📄 main1.c

📁 C语言编写的仿视窗多程序演示系统
💻 C
📖 第 1 页 / 共 4 页
字号:
                                                        break;
                                                        case 2:
                                                            lable_ER2:
                                                            scanbills(bills);
                                                            if(bills[AB]==AB/2&&bills[AB/2+1]==AB/2)
                                                            {
                                                                buyend(bills[AB],bills[AB+1]);
                                                                goto lable_wait;
                                                            }
                                                            if (bills[AB+1]>=AB/2&&bills[AB]<AB/2)
                                                            {
                                                                switch(buyfull("非吸烟区","吸烟区"))
                                                                {
                                                                    case 1:
                                                                        goto lable_reinbuy_a;

                                                                    case 2:
                                                                        buyend(bills[AB],bills[AB+1]);
                                                                    goto lable_wait;
                                                                }
                                    
                                                            }
                                                            else
                                                            {
                                                                lable_reinbuy_b:
                                                                scanbilla(bills,resbilla);scanbillb(bills,resbillb);
                                                                buynum=inputboxbuy("NO",resbillb);
                                                                if (buynum==-1)
                                                                {
                                                                    goto lable_xuanqu;
                                                                }
                                                                if((buynum==0)||(buynum<AB/2+1)||(buynum>AB))
                                                                {
                                                                    giveerr("本区无此票号!");
                                                                    goto lable_reinbuy_b;
                                                                }
                                                                if (bills[buynum-1]==1)
                                                                {
                                                                    giveerr("此票已售出,无法购得!");
                                                                    goto lable_reinbuy_b;
                                                                }


                                                                if (bills[buynum-1]==0)
                                                                {
                                                                    bills[buynum-1]=1;
                                                                    buysucc(buynum);
                                                                    goto lable_wait;
                                                                 }
                                                             }

                                                        goto lable_wait;
                                                    }
                                                break;
                                            case ESC:
                                                Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                            goto lable_wait;
                                            default:
                                            break;
                                        }
                                 }

                                return;
                                case 2:
                                    clrkey();
                                goto lable_ESC2;
                            }

                        break;
                        lable_ESC2:
                        case ESC:
                            Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                            clrkey();
                        goto lable_wait;
                        case LEFT:
                            Down_sbutton(220,350,120,25,2,"确定");
                            Up_sbutton(360,350,120,25,2,"取消");
                            YN_val=1;
                        break;
                        case RIGHT:
                            Up_sbutton(220,350,120,25,2,"确定");
                            Down_sbutton(360,350,120,25,2,"取消");
                            YN_val=2;
                        break;
                        default:
                        break;

                        }
                    }
                break;

                case 3: /*第三项主菜单选择功能按钮*/
                    Draw_swindow(200,100,300,300,"办理机票退换业务");
                    PrintTextxy(220,200,"退票换票业务选择",YELLOW);
                    PrintTextxy(220,240,"取消请按ESC键",RED);
                    PrintTextxy(220+1,240+1,"取消请按ESC键",YELLOW);
                    Down_sbutton(220,350,120,25,2,"退票");
                    Up_sbutton(360,350,120,25,2,"换票");
                    YN_val=1;
                    while(1)
                    {
                        int num,num2;
                        c=Contrkey();
                        switch(c)
                        {
                            case ENTER:
                                switch(YN_val)
                                {
                                    case 1:
                                        clrkey();
                                        Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                        lable_rein1:
                                        num=inputbox(1);
                                        if (num==-1)
                                        {
                                            break;
                                        }
                                        if((num==0)||(num>AB))
                                        {
                                            giveerr("输入票号不存在!");
                                            goto lable_rein1;
                                        }
                                        if((checktb(num,bills))==1)
                                        {
                                            giveerr("你输入的票并未售出!");
                                            goto lable_rein1;
                                        }
                                        else
                                        {
                                            bills[num-1]=0;
                                            giveok(num);

                                        }

                                        Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                    goto lable_wait;
                                    case 2:
                                        clrkey();
                                        Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                        scanbills(bills);
                                        if ((bills[AB]==AB/2)&&(bills[AB+1]==AB/2))
                                        {
                                            hpfull();
                                            break;
                                        }

                                        lable_rein2_1:
                                        num=inputbox(2);
                                        if (num==-1)
                                        {
                                            break;
                                        }
                                        if((num==0)||(num>AB))
                                        {
                                            giveerr("输入票号不存在!");
                                            goto lable_rein2_1;
                                        }
                                        if((checktb(num,bills))==1)
                                        {
                                            giveerr("你输入的票并未售出!");
                                            goto lable_rein2_1;
                                        }
                                        else
                                        {
                                            scanbilla(bills,resbilla);scanbillb(bills,resbillb);
                                            lable_rein2_2:
                                            num2=inputboxhc(resbilla,resbillb);
                                            if (num2==-1)
                                            {
                                                break;
                                            }
                                            if((num2==0)||(num2>AB))
                                            {
                                                giveerr("输入票号不存在!");
                                                goto lable_rein2_2;
                                            }
                                            if (num2==num)
                                            {
                                                giveerr("不能换成同一张票!");
                                                goto lable_rein2_2;
                                            }
                                            if (bills[num2-1]==1)
                                            {
                                                giveerr("此票已售出,无法换得!");
                                                goto lable_rein2_2;
                                            }


                                            if ((num!=num2)&&(bills[num2-1]==0))
                                            {
                                                bills[num-1]=0;bills[num2-1]=1;
                                                huanok(num,num2);

                                            }


                                        }
                                    goto lable_wait;
                                    default:
                                    break;
                                }

                            case ESC:
                                Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                clrkey();
                            goto lable_wait;
                            case LEFT:
                                Down_sbutton(220,350,120,25,2,"退票");
                                Up_sbutton(360,350,120,25,2,"换票");
                                YN_val=1;
                            break;
                            case RIGHT:
                                Up_sbutton(220,350,120,25,2,"退票");
                                Down_sbutton(360,350,120,25,2,"换票");
                                YN_val=2;
                            break;

                            default:
                            break;
            
                         }
                      }

                    while((c=Contrkey())!=ENTER)
                    {
                        if(c==ESC)break;
                    }
                    Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                    clrkey();
                break;

                case 4: /*第四项主菜单选择功能按钮*/

                    Draw_swindow(200,100,300,300,"机票数据清零");
                    Down_sbutton(220,350,120,25,2,"确定");
                    Up_sbutton(360,350,120,25,2,"取消");
                    PrintTextxy(220,200,"此操作将清空机票数据!",YELLOW);
                    PrintTextxy(220,240,"是否确认清除?",RED);
                    PrintTextxy(220+1,240+1,"是否确认清除?",YELLOW);

                    YN_val=1;

                    while(1)
                    {       
                        c=Contrkey();
                        switch(c)
                        {
                            case YES:
                            case yES:
                                clrkey();
                                savedata("data",bills);
                            return;
                            case NO:
                            case nO:
                                Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                clrkey();
                            break;
                            case LEFT:
                                Down_sbutton(220,350,120,25,2,"确定");
                                Up_sbutton(360,350,120,25,2,"取消");
                                YN_val=1;
                            break;
                            case RIGHT:
                                Up_sbutton(220,350,120,25,2,"确定");
                                Down_sbutton(360,350,120,25,2,"取消");
                                YN_val=2;
                            break;
                            case ENTER:
                                switch(YN_val)
                                {
                                    case 1:
                                        clrkey();
                                        Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                        clrdata("data",bills);
                                    goto lable_wait;
                                    case 2:
                                        clrkey();
                                    goto lable_wait;
                                }
                                break;
                            case ESC:
                            goto lable_wait;
                            default:
                            break;

                        }

                    }
                    break;

                case 5: /*第五项主菜单选择功能按钮*/

                    Draw_swindow(220,120,240,120,"是否确认退出?");
                    Down_sbutton(260,190,50,25,2,"是");
                    Up_sbutton(360,190,50,25,2,"否");
                    PrintTextxy(250,165,"是(Y)",YELLOW);
                    PrintTextxy(250+1,165+1,"是(Y)",RED);
                    PrintTextxy(360,165,"否(N)",YELLOW);
                    PrintTextxy(360+1,165+1,"否(N)",RED);

                    YN_val=1;

                    while(1)
                    {       
                        c=Contrkey();
                        switch(c)
                        {
                            case YES:
                            case yES:
                                clrkey();
                                savedata("data",bills);
                            return;
                            case NO:
                            case nO:
                                Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
                                clrkey();
                            break;
                            case LEFT:
                                Down_sbutton(260,190,50,25,2,"是");
                                Up_sbutton(360,190,50,25,2,"否");
                                YN_val=1;
                            break;
                            case RIGHT:
                                Up_sbutton(260,190,50,25,2,"是");
                                Down_sbutton(360,190,50,25,2,"否");
                                YN_val=2;
                        
                            break;
                            case ENTER:
                                switch(YN_val)
                                {
                                    case 1:
                                        clrkey();
                                        savedata("data",bills);

                                    return;
                                    case 2:
                                        clrkey();
                                    goto lable_wait;
                                }
                                return;
                            case ESC:
                            goto lable_wait;
                            default:
                            break;

                        }

                    }
                    break;


            }
          break;
          default:clrkey();
        }


    }
    getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
    closegr(); /* 恢复TEXT屏幕模式 */
}

⌨️ 快捷键说明

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