2018-11-08
3 回答
//大概乱做了一通,还有很多疏漏和代码不易读,基本功能已经实现了,你自己删删改改吧
#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;
}
举报