Você está na página 1de 3

#include <stdio.

h>
int findFreeLocationFirstClass(int b[]);
int findFreeLocationEconomyClass(int b[]);
int isEmptyFirstClass(int b[]);
int isEmptyEconomyClass(int b[]);
void printBoardingPass(int seatNumber);
int arrangeAndPrintFirstClass(int b[],int counter);
int arrangeAndPrintEconomyClass(int b[],int counter);
int main(void) {
int choice=0;
int seats[11]={0};
static int countFirstClass=0;
static int countEconomyClass=0;
int emptyEconomyClassLocation=0;
int emptyFirstClassLocation=0;
int freePlace=0;
char charChoice=8;
while (choice!=-1)
{
printf("Please type 1 for first class(-1 to exit)(%d First Class
Available) :",5-countFirstClass);
printf("\nPlease type 2 for economy class(-1 to exit)(%d Economy
Class Available) :",5-countEconomyClass);
scanf("%d",&choice);
if (choice==1 && isEmptyFirstClass(seats)) { //ok
countFirstClass=arrangeAndPrintFirstClass(seats,countFir
stClass);
}
else if (choice==2 && isEmptyEconomyClass(seats)) //ok
{
countEconomyClass=arrangeAndPrintEconomyClass(seats,coun
tEconomyClass);
}
else {
printf("\nNext flight leaves in 3 hours.\n\n");
if(choice==1 && (5-countEconomyClass)>0 ){
printf("\or You can choose Economy Class if you
want.\nWe have empty places in there. (y or n) : ");
scanf(" %c",&charChoice);
//You ha
ve to clean the buffer by putting one space before format specifier
if (charChoice=='y')
{
countEconomyClass=arrangeAndPrintEconomy
Class(seats,countEconomyClass);

else printf("Good Bye");


}
else if (choice==2 && (5-countFirstClass)>0 ) {
printf("\nr You can choose First Class if you wa
nt.\nWe have empty places in there. (y or n) : ");
scanf(" %c",&charChoice);
if (charChoice=='y')
{
countFirstClass=arrangeAndPrintFirstClas
s(seats,countFirstClass);
}
else printf("Good Bye");
}
else {
printf("\nNext flight leaves in 3 hours.\n\n");
}
getch();
return 0;
}
}
}
int findFreeLocationFirstClass(int b[]){
int i;
for (i = 1; i <=5 ; i++)
{
if(b[i]==0)
return i;
}
printf("\nNo place left in First Class\n");
getch();
exit(1);
}
int findFreeLocationEconomyClass(int b[]){
int i;
for (i = 6; i <=10 ; i++)
{
if(b[i]==0)
return i;
}
printf("\nNo place left in Economy Class");
getch();
exit(1);
}
int isEmptyFirstClass(int b[]){

int i;
for (i = 1; i <=5 ; i++)
{
if(b[i]==0)
return 1;
}
return 0;
}
int isEmptyEconomyClass(int b[]){
int i;
for (i = 6; i <=10 ; i++)
{
if(b[i]==0)
return 1;
}
return 0;
}
void printBoardingPass(int seatNumber){
printf("Seat Number %d is reserved for you.\nHave a nice and safe flight
.\n\n",seatNumber);
}
int arrangeAndPrintFirstClass(int b[],int counter){
int freePlace=0;
int countFirstClass=counter;
freePlace=findFreeLocationFirstClass(b);
b[freePlace]=1;
printBoardingPass(freePlace);
countFirstClass++;
return countFirstClass;
}
int arrangeAndPrintEconomyClass(int b[],int counter){
int freePlace=0;
int countEconomyClass=counter;
freePlace=findFreeLocationEconomyClass(b);
b[freePlace]=1;
printBoardingPass(freePlace);
countEconomyClass++;
return countEconomyClass;
}

Você também pode gostar