- (Havayolları rezervasyon Sistemi) Küçük bir havayolları şirketi, rezervasyon kayıtlarını tutmak için yeni bir bilgisayar almıştır. Patron, size yeni sistemi C’ de programlamanızı söylemiştir. Havayolları bir uçağa sahiptir ve sizden bu uçağın bütün uçuşlarının rezervasyon kayıtlarını tutacak bir program istenmiştir.
Programınız
aşağıdaki menüyü içermelidir.
“Sigara
içilen bölüm” için 1’e basın.
“Sigara
içilmeyen bölüm” için 2’ye basın.
Eğer kullanıcı 1’e basarsa, programınız
sigara içilen bölümden bir koltuğun rezervasyonunu
yapmalıdır.(1-5. koltuklar.) Eğer kullanıcı 2’ye basarsa
sigara içilmeyen bölümün koltuklarından birinin rezervasyonu
yapılmalıdır.(6-10. koltuklar). Daha sonra programınız,
müşterinin hangi bölümden ve kaç numaralı koltuğa rezervasyon
yaptırdığını göstermelidir.
Programınızda tek belirteçli bir dizi kullanınız.
Dizi elemanlarının ilk değerlerini, koltukların boş olduğunu
göstermek için 0 yapınız. Bir koltuğun rezervasyonu yapıldığında
ilgili dizi elemanını 1 yapınız.
Programınız kesinlikle aynı koltuğa iki
rezervasyon yapmamalı. Eğer sigara içilen bölüm dolduysa
müşterinin sigara içilmeyen bölümden rezervasyon yapmak isteyip
istemediğini sormalı(tam tersi durum içinde aynı işlemi yapmalı)
. Eğer cevap evet ise uygun rezervasyon yapılmalı. Eğer hayırsa
“Diğer uçuş 3 saat sonra” yazmalı.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define BOYUT 10
int main(){
int sayi,a[BOYUT]={0},x,y;
char letter;
printf("Sigarali[1] Sigarasiz[2] Cikis[3]:");
scanf("%d",&sayi);
do{
if(sayi==1 ){
y=getEmptyIndex(a,sayi);
if(y != -1){
a[y]=1;
printf("\nSigarali bolumden %d. koltugun rezervasyonu yapilmistir.\n",y);
}
else{
if(getEmptyIndex(a,2) != -1){
printf("Sigarali yerin Rezervasyonu dolmustur.Sigarasiz yerden almak istermisiniz?[e-h]");
scanf("%s",&letter);
if(letter=='e' || letter=='E')
sayi=2;
else{
printf("Diger ucus 3 saat sonra !!.");
break;
}
} else{
printf("Tum rezervasyonlar dolmustur.Diger ucus 3 saat sonradir.\n");
break;
}
}
}
if(sayi==2){
x=getEmptyIndex(a,sayi);
if(x != -1){
a[x]=1;
printf("\n\nSigarasiz bolumden %d. koltugun rezervasyonu yapilmistir.\n",x);
}
else{
if(getEmptyIndex(a,1) != -1){
printf("Sigarasiz yerin rezervasyonu dolmustur.Sigarali yerden almak istermisiniz?[e-h]\n");
scanf("%s",&letter);
if(letter=='e'||letter=='E'){
sayi=1;continue;
}
else{
printf("Diger ucus 3 saat sonra..!\n");break;
}
}
else{
printf("Tum rezervasyonlar dolmustur.Diger ucus 3 saat sonradir.\n");
break;
}
}
}
printf("Sigarali[1] Sigarasiz[2] Cikis[3]:");
scanf("%d",&sayi);
}while(sayi!=3 );
return 0;
}
int getEmptyIndex(int a[],int sayi)
{
int i,startIndex,endIndex;
if(sayi == 1){
startIndex = 0;
endIndex = BOYUT/2;
} else{
startIndex = BOYUT/2;
endIndex = BOYUT;
}
for(i=startIndex;i<endIndex;i++){
if(a[i]==0)
return i;
}
return -1;
}
Hiç yorum yok:
Yorum Gönder