如下程序是一个小型航线(只有一架飞机)的订票系统,该飞机有SEATS个乘客座该程序接收来自网上的订票请示。命令R代表“请求座位',如果有空位則预定或功;如果没有位置了,则订票申请失败。随后,预定成功的旅客通过p命令购票。这意味着每个P命令之前都必须先有个R命令;但反之,每个R命令并不一定产生购票操作(即P命令)。命X代表结束程序。但是,在这个程序中存在一个致命的设计错误。请找出错误,并予以纠正。
#include<stdio.h>
#define SEATS 10
int main(){
int seatsAvailable=SEATS;
char request='0';
while(request!='X'){
scanf("%c",&request);
if(request= ='R'){
if(seatsAvailable)
printf("Reversation Approved!\n");
else
printf("Sorry.flight fully booked.\n");
}
if(request= ='p'){
seatAvailable- -;
printf("Ticket purchased!\n");
}
}
printf("Done!%d seats not sold\n",seatsAvailble);
}