飞机订票系统.docx

上传人:b****4 文档编号:24613586 上传时间:2023-05-29 格式:DOCX 页数:6 大小:15.67KB
下载 相关 举报
飞机订票系统.docx_第1页
第1页 / 共6页
飞机订票系统.docx_第2页
第2页 / 共6页
飞机订票系统.docx_第3页
第3页 / 共6页
飞机订票系统.docx_第4页
第4页 / 共6页
飞机订票系统.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

飞机订票系统.docx

《飞机订票系统.docx》由会员分享,可在线阅读,更多相关《飞机订票系统.docx(6页珍藏版)》请在冰豆网上搜索。

飞机订票系统.docx

飞机订票系统

飞机订票系统

#include

#include

#defineOK1

#defineERROR0

typedefstructairline{

    charair_num[8];

    charplane_num[8];

    charend_place[20];

    int  total;

    int  left;

    structairline*next;

}airline;

typedefstructcustomer{

    charname[8];

    charair_num[8];

    int  seat_num;

    structcustomer*next;

}customer;

airline*start_air()

{

    airline*a;

    a=(airline*)malloc(sizeof(airline));

    if(a==NULL)

    a->next=NULL;

    returna;

}

customer*start_cus()

{

    customer*c;

    c=(customer*)malloc(sizeof(customer));

    if(c==NULL)

    c->next=NULL;

    returnc;

}

airline*modefy_airline(airline*l,char*air_num)

{

    airline*p;

    p=l->next;

    for(;p!

=NULL;p=p->next)

    {

        if(strcmp(air_num,p->air_num)==0)

        {

            p->left++;

            returnl;

        }

        printf("NOtheairline!

");

        return0;

    }

}

intinsert_air(airline**p,char*air_num,char*plane_num,char*end_place,inttotal,intleft)

{

    airline*q;

    q=(airline*)malloc(sizeof(airline));

    strcpy(q->air_num,air_num);

    strcpy(q->plane_num,plane_num);

    strcpy(q->end_place,end_place);

    q->total=total;

    q->left=left;

    q->next=NULL;

    (*p)->next=q;

    (*p)=(*p)->next;

    returnOK;

    }

int  insert_cus(customer**p,char*name,char*air_num,intseat_num)

{

    customer*q;

    q=(customer*)malloc(sizeof(customer));

    strcpy(q->name,name);

    strcpy(q->air_num,air_num);

    q->seat_num=seat_num;

    q->next=NULL;

    (*p)->next=q;

    (*p)=(*p)->next;

    returnOK;

}

intbook(airline*a,char*air_num,customer*c,char*name)

{

    airline*p=a;

    customer*q=c->next;

    p=a->next;

    for(;q->next!

=NULL;q=q->next){}

    for(;p->next!

=NULL;p=p->next)

    {

        if(p->left>0)

        {

            printf("Yourseatnumberis%d",(p->total-p->left+1));

            insert_cus(&q,name,air_num,p->total-p->left+1);

            p->left--;

            returnOK;

        }

        else

        {

            printf("seatisfull");

            return0;

        }

    }

}

intdel_cus(customer*c,airline*l,char*name)

{

    customer*p,*pr;

    charair_num[8];

    pr=c;

    p=pr->next;

    while(p!

=NULL)

    {

        if(strcmp(p->name,name)==0)

        {

            strcpy(air_num,p->air_num);

            l=modefy_airline(l,air_num);

            pr->next=p->next;

            p=pr->next;

            printf("finish!

");

            returnOK;

}

        pr=pr->next;

        p=pr->next;

    }

    printf("NOthecustomer!

");

    returnERROR;

}

intsearch_air(airline*head)

{

    airline*p=head->next;

    printf("air_num  plane_num  end_place  total  left\n");

    for(;p!

=NULL;p=p->next)

    {

        printf("%s  %-10s%-8s  %-8d%-8d\n",p->air_num,p->plane_num,p->end_place,p->total,p->left);

    }

    returnOK;

}

intsearch_cus(customer*head)

{

    structcustomer*q=head->next;

    printf("name  air_num  seat_num\n");

    for(;q!

=NULL;q=q->next)

    {

        printf("%-8s%-12s%-d\n",q->name,q->air_num,q->seat_num);

    }

    returnOK;

}

intcreat_air(airline**l)

{

    airline*p=*l;

    inti=0;

    char*air_num[3]={"007af","008af","009af"};

    char*plane_num[3]={"plane1","plane2","plane3"};

    char*end_place[3]={"Beijing","Shanghai","Tianjin"};

    inttotal[3]={100,100,100};

    intleft[3]={52,54,76};

    for(i=0;i<3;i++)

    insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]);

    returnOK;

}

intcreat_cus(customer**l)

{

    customer*p=*l;

    inti=0;

    char*name[3]={"zhsan","lisi","wangwu"};

    char*air_num[3]={"007af","008af","009af"};

    intseat_num[3]={2,5,7};

    for(i=0;i<3;i++)

    insert_cus(&p,name[i],air_num[i],seat_num[i]);

    returnOK;

}

voidmain()

{

    intt=1;

    customer*cus=start_cus();

    airline  *air=start_air();

    charname[8],air_num[8],ch;

    creat_air(&air);

    creat_cus(&cus);

    while(t==1)

    {

        printf("\n");

        printf("*********************************\n");

        printf("*    Welcometoairfirm!

    *\n");

        printf("*      book--------1      *\n");

        printf("*      cancel------2      *\n");

        printf("*      search------3      *\n");

        printf("*      exit--------4      *\n");

        printf("*********************************\n");

        ch=getch();

        if(ch=='1')

        {

            printf("Pleaseinputaairlinenumber:

");

            scanf("%s",air_num);

            printf("Pleaseinputaname:

");

            scanf("%s",name);

            book(air,air_num,cus,name);

        }

        else

            if(ch=='2')

            {

            printf("Pleaseinputthecancelname:

");

            scanf("%s",name);

            del_cus(cus,air,name);

            }

            else

              if(ch=='3')

              {

                search_air(air);

                printf("\n");

search_cus(cus);

              }

              else

                if(ch=='4')

                {

                t=0;

                }

      }

}任务:

通过此系统可以实现如下功能:

录入:

可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

查询:

可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

可以输入起飞抵达城市,查询飞机航班情况;

订票:

(订票情况可以存在一个数据文件中,结构自己设定)

可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票:

可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:

当航班信息改变可以修改航班数据文件

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1