Cde Fonksiyon ve Dizi Karışımı Bir Soru

NoWeDoR
Cool Çırak
(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ı.

şimdi bu program için aşağıdaki gibi yazmaya başladım ama soruyu tam kavrayabilmiş değilim. Yardımcı olursanız sevinirim , nasıl devam etmeliyim ya da nasıl değiştirmeliyim kodu?

PHP:
#include <stdio.h>

void sigaraliAlan(int dizi[])
{
	int i;
	printf("\n*-* Koltuklarin suan ki durumu (0 = Bos , 1 = Dolu) *-*\n\n");
	for (i = 0; i <5; i++)
	{
		printf("%d. koltuk : %d\n", i+1, dizi[i]);
	}
	printf("\n");
}

int main()
{
	int secim, koltukNumaralari[5] = { 0 };
	printf("\tSigara icilen bolum icin 1 (Yalnizca 5 kisilik) , \n");
	printf("\tSigara icilmeyen bolum icin 2 giriniz. (Yalnizca 5 kisilik)\n\n");
	printf("Simdi seciminizi yapiniz : ");
	scanf("%d", &secim);
	switch (secim)
	{
	case 1:
	{
		sigaraliAlan(koltukNumaralari);
		break;
	}
	default:
	{
		printf("Hatali secim yaptiniz!\n");
	}
	}
}
 
- Yönetici düzenlemesi: :
NoWeDoR
Cool Çırak
arkadaşlar kodu biraz daha geliştirdim. Lütfen yardım ediniz. Neler ilave etmek ya da çıkarmak gerekir buraya?


Kod:
#include <stdio.h>

int sigaraliAlan(int dizi[])
{
	int i;
	static int j = 1;
	printf("\nIstediginiz alanda sizin icin %d numarali koltuk ayrildi.\n", j);
	printf("\nSigara icilen alandaki koltuklarin su anki durumu (0 = Bos , 1 = Dolu)\n\n");
	for (i = 0; i < 5; i++)
	{
		dizi[j - 1] = 1;
		printf("%d. koltuk : %d - ", i + 1, dizi[i]);
	}
	printf("\n\n");
	j++;
	if (dizi[4] == 1)
	{
		printf("Sigara icilebilen alanda yer kalmamistir\n\n");
		return 0;
	}
	
}

void sigarasizAlan(int dizi[])
{
	int i;
	static int k = 1;
	printf("\nIstediginiz alanda sizin icin %d numarali koltuk ayrildi.\n", k);
	printf("\nSigara icilmeyen alandaki koltuklarin su anki durumu (0 = Bos , 1 = Dolu)\n\n");
	for (i = 5; i < 10; i++)
	{
		dizi[k + 4] = 1;
		printf("%d. koltuk : %d - ", i + 1, dizi[i]);
	}
	printf("\n\n");
	k++;
	if (dizi[9] == 1)
	{
		printf("Sigara icilmeyen alanda yer kalmamistir\n\n");
	}
}

int main()
{
	int secim, koltukDurumlari[10] = { 0 }, i;
	printf("\n\tSigara icilen bolum icin 1 (Yalnizca 5 kisilik) ,\n");
	printf("\tSigara icilmeyen bolum icin 2 giriniz. (Yalnizca 5 kisilik)\n\n\n");
	printf("Simdi seciminizi yapiniz : ");
	scanf("%d", &secim);
	switch (secim)
	{
	case 1:
	{
		int yeniSecim;
		for (i = 0; i < 10; i++)
		{
			sigaraliAlan(koltukDurumlari);
			x: printf("Simdi yeniden seciminizi yapiniz : ");
			scanf("%d", ¥iSecim);
			if (yeniSecim == 1)
			{
				continue;
			}
			else if (yeniSecim==2)
			{
				sigarasizAlan(koltukDurumlari);
				goto x;
			}
		}
		break;
	}
	default:
	{
		printf("Hatali secim yaptiniz!\n");
	}
	}
}
 
un10cked
Forum Kalfası
Gayet iyisin :)

Ilk versiyonda sigarasiz alani hic dusunmemissin.

Sorudaki butun sartlari teste tabii tut.

Sonuclarida buraya yaz.

C ile kodlamayali 3 sene oldu. O yuzden derleyicim bile yok :)

Ama sana bir kiyak xcode'da derlemeye calisayim :)
 
Üst