📄 flyp.c
字号:
PrintTextxy(230,220,resbilla,RED);
PrintTextxy(230+1,220+1,resbilla,YELLOW);
PrintTextxy(230,250,"非吸烟区剩余机票数量:",YELLOW);PrintTextxy(430,250,feixi,RED);
PrintTextxy(230,270,resbillb,RED);
PrintTextxy(230+1,270+1,resbillb,YELLOW);
Down_sbutton(280,350,120,25,2,"确定");
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 2:
Draw_swindow(200,100,300,300,"开始机票预定");
Down_sbutton(220,350,120,25,2,"确定");
Up_sbutton(360,350,120,25,2,"取消");
PrintTextxy(220,200,"确定后可开始购票,返回请按取消",YELLOW);
YN_val=1;
while(1)
{
c=Contrkey();
switch(c)
{
case ENTER:
movey=20;
movex=10;
switch(YN_val)
{
case 1:
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)
{
buyend(bills[AB],bills[AB+1]);
goto lable_wait;
}
Draw_swindow(220-movex,90+movey,300,150,"选择吸烟区与非吸烟区");
PrintTextxy(220-movex+40,130+movey,"取消请按ESC键。",RED);
Down_sbutton(260-movex,190+movey,100,25,2,"一区");
Up_sbutton(380-movex,190+movey,100,25,2,"二区");
PrintTextxy(250-movex,165+movey," 吸烟区(1)",YELLOW);
PrintTextxy(250+1-movex,165+1+movey," 吸烟区(1)",RED);
PrintTextxy(360-movex,165+movey," 非吸烟区(2)",YELLOW);
PrintTextxy(360+1-movex,165+1+movey," 非吸烟区(2)",RED);
YN_val=1;
while(1)
{
c=Contrkey();
switch(c)
{
case YI:
goto lable_YI2;
case ER:
goto lable_ER2;
case LEFT:
Down_sbutton(260-movex,190+movey,100,25,2,"一区");
Up_sbutton(380-movex,190+movey,100,25,2,"二区");
YN_val=1;
break;
case RIGHT:
Up_sbutton(260-movex,190+movey,100,25,2,"一区");
Down_sbutton(380-movex,190+movey,100,25,2,"二区");
YN_val=2;
break;
case ENTER:
switch(YN_val)
{
case 1:
lable_YI2:
scanbills(bills);
if(bills[AB]==AB/2&&bills[AB+1]==AB/2)
{
buyend(bills[AB],bills[AB+1]);
goto lable_wait;
}
if (bills[AB]>=AB/2&&bills[AB+1]<AB/2)
{
switch(buyfull("吸烟区","非吸烟区"))
{
case 1:
buysucc(buybillb(bills));
goto lable_wait;
case 2:
buyend(bills[AB],bills[AB+1]);
goto lable_wait;
}
}
else
{
buysucc(buybilla(bills));
goto lable_wait;
}
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:
buysucc(buybilla(bills));
goto lable_wait;
case 2:
buyend(bills[AB],bills[AB+1]);
goto lable_wait;
}
}
else
{
buysucc(buybillb(bills));
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 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();
Clr_scr(5+100+10+5,35+5,MaxX-115-5-15,MaxY-45-15);
break;
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;
clrkey();
break;
case RIGHT:
Up_sbutton(220,350,120,25,2,"确定");
Down_sbutton(360,350,120,25,2,"取消");
YN_val=2;
clrkey();
break;
default:
clrkey();
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;
default:clrkey();
}
}
getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -