Ümit YORMAZ Kişisel Blog

25 Kasım 2013 Pazartesi

C#’ta Sinema Programı


//iki boyutlu dizimizi oluşturuyoruz
int[,] sinema = new int[10, 10];
//dizimizini bütün değişkenlerine 0 (boş) değeri atıyoruz
for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < 10; j++)
    {
         sinema[i, j] = 0;
    }                
}
//değişkenleri tanımlıyoruz
int secenek = 0, sira=0, koltuk=0;
string cikis = "abc";
 
//programımızı for içinde gerçekleştirmemiz gerekiyor.
for (; cikis!="cik" ;)
{
    //ekranı temizliyoruz
    Console.Clear();
    //anamenüyü ekrana yazdırıyoruz
    Console.WriteLine("*****cCc AnaMenü CcC*****");
    Console.WriteLine("1.Bilet Al");
    Console.WriteLine("2.Bilet Sil");
    Console.WriteLine("3.Sinema Doluluğunu Göster");
    Console.WriteLine("4.Çıkış");
    Console.Write("Seçiniz=");
 
    //kullanıcıdan seçeneği alıyoruz
    secenek = Convert.ToInt32(Console.ReadLine());
    //seçeneği alıp işlem yaptırıyoruz
    if (secenek == 1)  //seçenek 1 ise
    {
        Console.Clear();
        Console.WriteLine("****Bilet AL****");
        //kişiden sıra (satır) ve Koltuk (sütun) numarasını alıyoruz
        Console.Write("Kaçıncı Sıra=");
        sira = Convert.ToInt32(Console.ReadLine());
        Console.Write("Kaçıncı Koltuk=");
        koltuk = Convert.ToInt32(Console.ReadLine());
        //dizimizin o değerine 1 (dolu) atıyoruz.
        sinema[sira - 1, koltuk - 1] = 1;
    }
    else if (secenek == 2) //seçenek 2 ise 
    {
        Console.Clear();
        //iki ye ayırıyoruz ve menü yapıyoruz.
        Console.WriteLine("1.Hepsini Sil");
        Console.WriteLine("2.Tek Sil");
        secenek = Convert.ToInt32(Console.ReadLine()); //seçeneği okutuyoruz
        if (secenek == 1) //seçenek 1 ise hepsine 0 (boş) ata
        {
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    sinema[i, j] = 0;
                }
            }
        }
        else  //seçenek 2 ise (if teki şart doğru değilse)
        {
            Console.Clear();
            Console.WriteLine("***Bilet Sil***");
            //kişiden sıra (satır) ve Koltuk (sütun) numarasını alıyoruz
            Console.Write("Kaçıncı Sıra=");
            sira = Convert.ToInt32(Console.ReadLine());
            Console.Write("Kaçıncı Koltuk");
            koltuk = Convert.ToInt32(Console.ReadLine());
            //o değerlere 0 (boş) atıyoruz.
            sinema[sira - 1, koltuk - 1] = 0;
        }
    }
    else if (secenek == 3)  //seçenek 3 ise
    {
        Console.Clear();
        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 10; j++)
            {
                //sütünları ekrana yazdırıyoruz
                Console.Write(sinema[i, j] + " ");
            }
            //Düzgün (sinemadaki gibi) görünmesi için satır atlatıyoruz
            Console.WriteLine("");
        }
        //görsellik içindir bi anlamı yoktur.
        Console.WriteLine("___________________");
        Console.WriteLine("| | | | | | | | | |");
        //ekran hemen geçmesin diye boş bi readLine oluşturuyoruz.
        Console.ReadLine();
    }
    //seçeneklerin hiç biri değilse 'cikis' değişkenine "cik" atıyoruz for da şart sağlanmadığı için programı bitiriyor.
    else
        cikis = "cik";
}



Programımızı iki boyutlu diziyle oluşturduk 10 satır ve 10 sütun olarak. İlk olarak bütün diziye 0 [boş] değerini atadık.
Değişkenlerimizi oluşturduk, buradaki ‘cikis’ değişkenine “abc” dedim ancak herhangi bişey olabilir yanlızca “cik” değeri olamaz. Çünkü programa girebilmesi için for daki şartımızın sağlanması gerekir.
Bütün kodları for içinde yapmamızın nedeni Kişi Çıkış işlemini yapmadığı sürece programda kalması için. for olmasaydı işlemi 1 kez yapıp programdan çıkacaktır.
Console.Clear(); yapmamızın nedeni yazıların birbirine karışmaması ve görselliğin bozulmaması içindir.
Menümüzü oluşturduktan sonra kullanıcının seçeneklerini değerlendirip if içinde işlemlerimizi yaptırıyoruz.
‘sinema[sira - 1, koltuk - 1] = 1;’ kodunda -1 dememizin nedeni kullanıcı ve bilgisayar arasındaki başlangıç değerinin farkıdır. Yani kullanıcı saymaya 1 den başlar ancak bilgisayarın ilk değeri herzaman için 0 dır.
Diğer gerekli açıklamalar kodların üstündedir.

Hiç yorum yok:

Yorum Gönder

Yorum Yaz...