c# Desktop

TrendYol 2025 - 2026 Süper Lig Fikstür Kura Çekimini Yapan c# Console Uygulaması-6

Hatırlarsanız 4 takımlı bir mini süper lig turnuvası düzenlemiştik. Kodlamanın sonunda lige ait maç sonuçları ekranda görüntülemiştik. Ancak aradaki uygulamaya baktığınızda kodlamaya ait bazı eksiklikler mevcuttu.Öncelikle bu eksiklikleri sıralamaya çalışalım.

1. Maç sonuçlarına ait bilgiler orantısal seçenekler kullanılarak gerçeğe yakın sonuçlar elde edilebilirdi.

2. Kodlamada sürekli tekrar eden kodlar mevcuttur.

3. Fikstür el ile yapıldığı için yeni birkaç takım eklendiğinde aynı işlemleri bir daha yapmamız gerekecektir.

4. Maç sonuçlarına ait görüntüler daha işlevsel ve anlaşılabilir olmalıdır.

Şimdi 2019 Cemil Usta Mini Süper Lig turnuvasına ait kodları yeniden düzenlemeye çalışalım. 
Lig sonuçlarını belirlerken 0 ile 5 gol arasında sınır vermiştik. Ancak bir takım maçta beşten fazla gol atabilir. Ayrıca bir tanımın 1 gol atma olasığı ile 5 gol atma olasılığı aynı değildir. Şimdi en fazla 10 gol atma sınırına göre oranlamaya çalışalım.
0 gol atma : %60
1 gol atma : %85
2 gol atma : %90
3 gol atma : %93
4 gol atma : %94
5 gol atma : %95
6 gol atma : %96
7 gol atma : %97
8 gol atma : %98
9 gol atma : %99
10 gol atma : %100
Bu oranlara göre maç sonuçlarını bulmaya çalışalım. Biz maç sonuçlarını bulmak için sonuclar isminde bir metod tanımlayacağız. Burada 4 takım olduğu için takımlara ait sonuçları buradan alacağımızdan metodumuzu dizi olarak tanımlayacağız. Böylece sürekli tekrarlanan maç sonuçlarını bulma ile ilgili kodları her defasında yazmak zorunda kalmayacağız.
        public static int macsonucu(int x)
        {
            if (x <= 60)
                return 0;
            else if (x <= 85)
                return 1;
            else if (x <= 90)
                return 2;
            else if (x <= 93)
                return 3;
            else if (x <= 94)
                return 4;
            else if (x <= 95)
                return 5;
            else if (x <= 96)
                return 6;
            else if (x <= 97)
                return 7;
            else if (x <= 98)
                return 8;
            else if (x <= 99)
                return 9;
            else
                return 10;
        }
Tanımladığımız bu fonksiyona göre Main ana fonksiyonunda yaptığımız uygulamayı yeniden düzenleyelim.
            Console.Title = "Mini Süper Lig Turnuvası";
            int t1, t2, t3, t4;
            Random sonuclar = new Random();
            Console.WriteLine("2019 Cemil Usta Mini Süper Ligi");
 
            Console.WriteLine("\n1. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Galatasaray {0} – {1} Fenerbahçe", t1, t2);
            Console.WriteLine("Trabzonspor {0} – {1} Beşiktaş", t4, t3);
 
            Console.WriteLine("\n2. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Fenerbahçe {0} – {1} Trabzonspor", t2, t4);
            Console.WriteLine("Beşiktaş {0} – {1} Galatasaray", t3, t1);
 
            Console.WriteLine("\n3. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Galatasaray {0} – {1} Trabzonspor", t1, t4);
            Console.WriteLine("Fenerbahçe {0} – {1} Beşiktaş", t2, t3);
 
            Console.WriteLine("\n4. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Galatasaray {0} – {1} Fenerbahçe", t1, t2);
            Console.WriteLine("Trabzonspor {0} – {1} Beşiktaş", t4, t3);
 
            Console.WriteLine("\n5. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Fenerbahçe {0} – {1} Trabzonspor", t2, t4);
            Console.WriteLine("Beşiktaş {0} – {1} Galatasaray", t3, t1);
 
            Console.WriteLine("\n6. Hafta Maç Sonuçları\n");
            t1 = sonuclar.Next(0, 101);
            t1 = macsonucu(t1);
            t2 = sonuclar.Next(0, 101);
            t2 = macsonucu(t2);
            t3 = sonuclar.Next(0, 101);
            t3 = macsonucu(t3);
            t4 = sonuclar.Next(0, 101);
            t4 = macsonucu(t4);
 
            Console.WriteLine("Galatasaray {0} – {1} Trabzonspor", t1, t4);
            Console.WriteLine("Fenerbahçe {0} – {1} Beşiktaş", t2, t3);
            Console.ReadLine();
Nasıl? Kodlarımız biraz azaldı değiş mi? Burada 4 takımı sürekli olarak kullanıyoruz. Ancak birinde ismin yanlış yazdığımızda kalkıp yanlış yazılan yeri nasıl düzelteceğiz. Halbuki takım isimlerini bir dizi altında en başta tanımlasaydık. Onların üzerinde değişiklik yapmamız gayet kolay olacaktı. O zaman takım isimlerini takımlar dizisi altında toplayalım.
            string[] takimlar ={
                                  "Galatasaray",
                                  "Fenerbahçe",
                                  "Beşiktaş",
                                  "Trabzonspor"
                              };
Hem takımların isimlerini değiştirebiliriz. Hem de yeni takım ekleme imkanımız olur. Tanımlanan bu diziye göre Main fonksiyonu altındaki tanımlamayı yeniden düzenleyelim.

 


İlgili Makaleler
Basit Veri Bağlama (Simple Data Binding)
Kompleks Veri Bağlama (Complex Data Binding)
Konsol Ekranında Kod Yazma ve Çalıştırma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
TrendYol 2025 - 2026 Süper Lig Fikstür Kura Çekimini Yapan c# Console Uygulaması-6
Veri Girişi Doğrulama (Input Validation)
Ayt 2019 Rasyonel Sayı ve Logaritmik Sayı Sorusunun Çözümüne Ait c# Console Uygulaması
Verilen Değere Göre Tanımlı Fonksiyonu Çözen Programı c# Programıyla Kodlama
Form Sayfalarında Ayrıntılı ListBox Kullanımı
c# Uygulamalarında Formu MDI Form Olarak Kullanma
Kaçan Buton Oyununu Yapan c# Uygulaması
c# Form Sayfasında Editör Uygulamasını Yapma
Windows Form Uygulamasında Veriyi Bir Formdan Diğerine Aktarma
Klavyeden Girilen Kelimeyi Kelebek Deseninde Yazdıran c# Console Uygulaması
Nesne Tabanlı Programlamada Sınıfların ve Özelliklerin Erişim Türlerini Belirlemek
Olaylar(Events)
Ekrana Merhaba Dünya Mesajını Görüntüleyen Form Uygulamasını c# Diliyle Yapma
Rakamlardan Oluşan Tuş Takımını Hesap Makinesi Görünümünde Tasarlayan Form Uygulaması
RadioButton Yardımıyla Resim Galerisi Oluşturan Form Uygulamasını c# Kodlarıyla Tasarlama

Yorum Ekle
   
Kötü İyi