#include<stdio.h>
#include<string.h>
/*订票函数*/
struct dingTui
{
char d[10];
int r1;
int r2;
}dt[121];
int fo;
char x[20];
dingPiao()
{   int y,q,p,i;
   strcpy(dt[1].d,"agfsaga");
   dt[1].r1=0;
   dt[1].r2=0;
for(i=2;i<=120;i++)
    
dt[i].r2=i+1;
    dt[121].r2=-1;
    fo=2;
    printf("请输入您姓名的汉语拼音:\n");
    scanf("%s",x);
    if(fo!=-1)


/*查x顶过票否*/
{ p=2;
while(1)
{
y=strcmp(dt[p].d,x);
if(y==0)
{
printf("您已顶过票!\n");
return(0);
}
if(y<0)
{   
q=fo;
    fo=dt[fo].r2;
    strcpy(dt[q].d,x);
    dt[fo].r1=p;
            dt[fo].r2=dt[p].r2;
    dt[dt[q].r1].r2=q;
            dt[dt[q].r2].r1=q;
    printf("打印票!\n");
    break;
}

        p=dt[p].r2;

}
printf("票已售完");
    return(0);
}
 tuiPiao()
{
int p;
printf("请输入您姓名的汉语拼音:\n");
scanf("%s",x);
if(dt[1].r2==0)
{
printf("未售票!\n");
    return(0);
}
p=1;
while(1)
{
int y;
y=strcmp(dt[p].d,x);
        if(y=0)
{/*tuipiao*/
dt[dt[p].r1].r2=dt[p].r2;
            dt[dt[p].r2].r1=dt[p].r1;
/*hui shou piao*/
dt[p].r1=0;
dt[p].r2=fo;
fo=p;
printf("已退票!\n");
    return(0);
}
        if(y>0)
{
printf("未定票!\n");
            return(0);
}
p=dt[p].r2;
}
}
 void pwtj()
{
    int i;
printf("目前的售票情况是:\n");
    for(i=1;i<3;i++)
        printf("%5s",dt[i].d);
}
void main()
{
int num,flag=1;

printf("                      * * * * * * * * * * * * * * * * *\n");
printf("                      *  欢迎使用本公司的飞机订票系统 *\n");
printf("                      * * * * * * * * * * * * * * * * *\n");
while(flag){
    printf("    \002订票请按<1>键;\n");
    printf("    \002退票请按<2>键;\n");
        printf("    \002票务统计请按<3>键;\n");
printf("    \002退出请按<4>键。\n");
        loop:{
    printf("请选择:");
        scanf("%d",&num);
            if(num==1)
        dingPiao();                  /*订票函数*/
            else if(num==2)
            tuiPiao();                                    /*退票函数*/
        else if(num==3)
            pwtj();                               /*票务统计函数*/
else if(num==4){
printf("欢迎使用本软件。再见!\n");
break;}
        else 
{printf("输入错误!\n");
         goto loop;}
 }
 printf("继续使用本软件吗?(继续使用按<y>,不使用按任意键)\n");char a;               
 scanf("%s",&a);/*注意:这里有\n就不能用%c,因为直接将回车给了阿a!*/
    if(a=='y'||a=='Y')
flag=1;
    else
{printf("欢迎下次使用。再见!\n");
break;}
}



}