为了账号安全,请及时绑定邮箱和手机立即绑定

编写飞机订票程序。飞机有N(10)个座位,一半是吸烟区,一半是无烟区;编写一个订票程序,问用户去吸烟区还是无烟区,用户选择后,输出座位编号,如果他选的区已经全部售完,则问是否去另一个区,如果同意,则输出座位号,否则告知无票,订票结束。这个题如何编程

编写飞机订票程序。飞机有N(10)个座位,一半是吸烟区,一半是无烟区;编写一个订票程序,问用户去吸烟区还是无烟区,用户选择后,输出座位编号,如果他选的区已经全部售完,则问是否去另一个区,如果同意,则输出座位号,否则告知无票,订票结束。这个题如何编程


正在回答

3 回答

http://img1.sycdn.imooc.com//6018b45d00012fa803970542.jpg

我运行后输入3,回车,再输入y,画面如图无限刷屏中

0 回复 有任何疑惑可以回复我~

厉害了

0 回复 有任何疑惑可以回复我~

//大概乱做了一通,还有很多疏漏和代码不易读,基本功能已经实现了,你自己删删改改吧


#include <stdio.h>

#include <string.h>

#define N 10

struct seat

{

    char seatArea [30];

    int seatNum;

    int isbooked;

};


int isSmoke()

{

    int smoker;

    printf("ÇëÑ¡ÔñÎüÑÌÇø»ò·ÇÎüÑÌÇø\n");

    printf("ÎüÑÌÇøÇëÊäÈë1,·ÇÎüÑÌÇøÇëÊäÈë0\n");

    printf("ÇëÊäÈë:");

    scanf("%d",&smoker);

    return smoker; 

     


int checkisBooked(int isSmoker,seat s[])

{

    int i;

    int space=0;

    if(isSmoker==1)

    {

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

        {

            if(s[i].isbooked==0)

            {

                space=1;

            }

        }

    }

    else if(isSmoker==0)

    {

        for(i=5;i<10;i++)

        {

            if(s[i].isbooked==0)

            {    

                space=1;

            }

        }

    }

       if(space==0)

       {

               printf("ÄúÔ¤¶©µÄλÖÃÒÑÂú\n");

       }

    return space;

}


int ifchange()

{

        int change;

        printf("ÊÇ·ñÔ¤¶©ÁíÒ»ÇøÓòµÄ»úƱ£¿\n");

    printf("ÊÇ,ÇëÊäÈë1,·ñ£¬ÇëÊäÈë0\n"); 

    scanf("%d",&change);

       return change;

        

}


int changeSeat(int isSmoker)

{

        if(isSmoker==1)

        {

                isSmoker=0;

        }

        else

        {

                isSmoker=1;

        }

        return isSmoker;

}


void ticketbook(int booker,seat s[])

{

    int i;

    if(booker==1)

    {

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

             {

                     if(s[i].isbooked==0)

                     {

                             printf("Ô¤¶©³É¹¦!\n");

                             printf("ÄúµÄÇøÓò:");

                             puts(s[i].seatArea);

                             printf("ÄúµÄ×ùλºÅ:%d\n",s[i].seatNum);

                             s[i].isbooked=1;

                             break;

                     }

             }

    }

    else

    {

            for(i=5;i<9;i++)

             {

                     if(s[i].isbooked==0)

                     {

                             printf("Ô¤¶©³É¹¦!\n");

                             printf("ÄúµÄÇøÓò:");

                             puts(s[i].seatArea);

                             printf("ÄúµÄ×ùλºÅ:%d\n",s[i].seatNum);

                             s[i].isbooked=1;

                             break;

                     }

             }

    }

}

 


int main(int argc, char *argv[])

{

    struct seat s[10];

    int book;

    int change=0;

    for(int i=0;i<5;i++)

    {

        strcpy(s[i].seatArea,"SmokeArea");

        s[i].seatNum=i+1;

        s[i].isbooked=0;

        strcpy(s[i+5].seatArea,"NonSmokeArea");

        s[i+5].seatNum=i+6;

        s[i+5].isbooked=0;

        

    }

    int isSmoker;

    int x=0;

    int ifQuit=0;

    printf("»¶Ó­Ê¹ÓûúƱԤ¶©ÏµÍ³\n"); 

    do

    {

    printf("==============================\n");

    isSmoker=isSmoke();

    book=checkisBooked(isSmoker,s);

    if(book==1)

    {

        ticketbook(isSmoker,s);

    }

    else 

    {

        change=ifchange();

            if(change==1)

            {

            isSmoker=changeSeat(isSmoker);

            book=checkisBooked(isSmoker,s);

            if(book==1)

            {

            ticketbook(isSmoker,s);

            }

}

    } 

    printf("ÊÇ·ñÍ˳öϵͳ£¿\n");

    printf("ÈçÒªÍ˳öÇëÊäÈë4£¬ÊäÈëÈÎÒâ×Öĸ¼ÌÐø¶©Æ±\n");

printf("ÊÇ·ñÍ˳ö£º") ;

scanf("%d",&ifQuit);

x++;

    }while(ifQuit!=4||x<10);

       

       

    printf("==============================\n");

    printf("¸ÐлÄúʹÓñ¾ÏµÍ³\n");

    return 0;

}


3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

编写飞机订票程序。飞机有N(10)个座位,一半是吸烟区,一半是无烟区;编写一个订票程序,问用户去吸烟区还是无烟区,用户选择后,输出座位编号,如果他选的区已经全部售完,则问是否去另一个区,如果同意,则输出座位号,否则告知无票,订票结束。这个题如何编程

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信