Bu makalede, C# Windows Forms uygulaması kullanarak, kullanıcıdan alınan sayılar arasındaki ortalamayı hesaplayan bir uygulama yapacağız. Bu örnekte, LINQ (Language Integrated Query) kullanarak sayıların ortalamasını bulacağız ve sonucu ekranda görüntüleyeceğiz.
Projenin Amacı
- Kullanıcı, virgülle ayrılmış tamsayıları bir metin kutusuna girer.
- Program, LINQ kullanarak sayılar arasındaki ortalamayı hesaplar.
- Sonuç, ekranda gösterilir.
- Eğer kullanıcı geçerli sayılar girmezse bir uyarı mesajı gösterilir.
Gerekli Araçlar
- Visual Studio (2022 veya daha yeni bir sürüm önerilir)
- .NET Framework ile Windows Forms App (C#)
Uygulamanın Adımları
1. Windows Forms Projesi Oluşturma
- Visual Studio’yu açın ve yeni bir Windows Forms App (.NET Framework) projesi oluşturun.
- Projenize bir isim verin (örneğin:
SayilarinOrtalamasi
).
2. Form Tasarımı
Form tasarımında aşağıdaki bileşenlere ihtiyacımız olacak:
- Label: Kullanıcıya bilgi vermek için (
"Virgülle ayrılmış sayıları girin:"
yazabilir). - TextBox (
txtSayilar
): Kullanıcıdan tamsayı dizisini almak için. - Button (
btnHesapla
): Sayıların ortalamasını hesaplamak için. - Label (
lblOrtalama
): Hesaplanan ortalamayı göstermek için.
Form Görünümü:
3. Kod Ekleme
Form tasarımından sonra, aşağıdaki kodu Form1.cs
dosyasına ekleyin. Bu kod, verilen sayılar arasındaki ortalamayı hesaplar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | private void btnHesapla_Click(object sender, EventArgs e) { try { // Kullanıcıdan alınan metni parçala string giris = txtSayilar.Text; int[] sayilar = giris .Split(',') // Virgül ile ayır .Select(x => int.Parse(x.Trim())) // Her birini tamsayıya dönüştür .ToArray(); // LINQ ile sayıların ortalamasını hesapla if (sayilar.Any()) { double ortalama = sayilar.Average(); lblOrtalama.Text = $"Ortalama: {ortalama}"; } else { MessageBox.Show("Lütfen geçerli sayılar girin.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show($"Bir hata oluştu: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } } |
Kodun Açıklaması
1. Kullanıcıdan Girdi Alma
1 2 3 | string giris = txtSayilar.Text; |
- Kullanıcı tarafından girilen virgüllerle ayrılmış sayıları alıyoruz.
2. Metni Tamsayı Dizisine Dönüştürme
1 2 3 4 5 6 | int[] sayilar = giris .Split(',') // Virgül ile ayır .Select(x => int.Parse(x.Trim())) // Her birini tamsayıya dönüştür .ToArray(); |
- Girilen metni virgüllerle ayırıp, her bir değeri tamsayıya dönüştürüyoruz ve bir diziye çeviriyoruz.
3. Sayıların Ortalamasını Hesaplama
1 2 3 | double ortalama = sayilar.Average(); |
Average()
metodu ile dizideki sayıların ortalamasını hesaplıyoruz.
4. Sonucu Ekranda Gösterme
1 2 3 | lblOrtalama.Text = $"Ortalama: {ortalama}"; |
- Hesaplanan ortalamayı
Label
üzerinde gösteriyoruz.
5. Geçersiz Giriş veya Boş Veri Durumu
1 2 3 4 5 6 | else { MessageBox.Show("Lütfen geçerli sayılar girin.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
- Eğer kullanıcı herhangi bir sayı girmezse veya geçersiz veri girerse, uyarı mesajı gösteriyoruz.
6. Hata Kontrolü
1 2 3 4 5 6 | catch (Exception ex) { MessageBox.Show($"Bir hata oluştu: {ex.Message}", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } |
Uygulama çalışırken herhangi bir hata olursa, hata mesajı gösteriyoruz.
Örnek Çalışma
Sonuç
Bu uygulama, LINQ kullanarak sayılar dizisindeki elemanların ortalamasını hesaplamanın basit bir yolunu sunmaktadır. Kullanıcıdan alınan sayılarla ortalama işlemi yapılmış ve sonuç kullanıcıya gösterilmiştir.