C# • C# Windows Form Örnekleri

C# Windows Forms ile Koşullu Mantık Uygulaması: Ödeme ve Kargo Hesaplama Uygulaması

Yazılım geliştirme eğitiminde temel programlama mantığının (koşullar, karar yapıları ve aritmetik işlemler) pekiştirilmesi, gerçek hayattan senaryolarla çok daha kalıcı hale gelir.

Bu makalede; C# Windows Forms ortamında geliştirilen, kullanıcı girdilerine göre sepet tutarını, kargo ücretini ve VIP üyelik indirimlerini dinamik olarak hesaplayan örnek bir uygulama senaryosunu inceleyeceğiz.

Bu proje özellikle;

  • if-else karar yapıları,
  • Mantıksal ve aritmetik operatörler
  • Form bileşenleri (TextBox, RadioButton, CheckBox vb.) arasındaki etkileşim konularını uygulamalı olarak öğrenmek isteyenler için ideal bir laboratuvar çalışmasıdır.

2. Proje Senaryosu ve İş Kuralları

Uygulamanın temel amacı, bir e-ticaret sitesinin ödeme ekranını simüle etmek ve belirlenen kurallara göre sepetin son tutarını hesaplamaktır.

Temel İş Kuralları:

  • Kargo Seçimi: Normal kargo ücreti 50 TL, Hızlı kargo ücreti ise 100 TL olarak belirlenmiştir.
  • İstisna Kuralı (Ücretsiz Kargo): Sepet tutarı 500 TL ve üzerindeyse, kargo ücreti alınmaz (0 TL yapılır).
  • VIP İndirimi: Kullanıcı “VIP Üye” seçeneğini işaretlediyse, sepetindeki toplam ürün tutarı üzerinden %10 indirim uygulanır.
  • Çıktı Gereksinimleri: Tüm hesaplamalar sonucunda ara toplam, indirim miktarı, kargo ücreti ve ödenecek genel toplam ekrana düzenli bir şekilde yazdırılmalıdır.

3. Arayüz Tasarımı (Windows Forms)

Form üzerinde kullanılacak bileşenler :

  • Sepet Tutarı: Label ve kullanıcıdan değer almak için bir TextBox.
  • VIP Üye Durumu: Durumu kontrol etmek için bir CheckBox veya RadioButton.
  • Kargo Seçimi: GroupBox içerisinde kargo türlerini seçmek için iki adet RadioButton (Normal Kargo – 50 TL, Hızlı Kargo – 100 TL).
  • Hesaplama Butonu: İşlemi tetiklemek için bir Button (Ödeme Hesapla).
  • Bilgi / Sonuç Alanı: Kuralların ve hesaplama detaylarının gösterileceği bir label denetimi

C# Kodları:

Kodların Detaylı Açıklaması

Yukarıdaki kod bloğu, e-ticaret ödeme senaryosundaki iş kurallarını mantıksal ve aritmetik operatörler kullanarak hayata geçirmektedir. Kodun mantıksal adımları sırasıyla şunlardır:

  1. Girdi ve Durum Değişkenleri (btnHesapla_Click):
    • Kullanıcının arayüzde seçtiği VIP üyelik durumu chkVip.Checked yardımıyla bir bool (mantıksal) değişkene aktarılır.
    • txtSepetTutari alanına girilen metinsel ifade, Convert.ToDouble() fonksiyonu ile sayısal (double) bir değere dönüştürülerek sepetTutari değişkenine atanır.
  2. Kargo Ücreti Belirleme Yapısı (if-else):
    • İlk aşamada kullanıcının tercih ettiği kargo türüne bakılır. Eğer rbNormal seçiliyse kargo ücreti 50 TL, aksi takdirde (hızlı kargo seçilmişse) 100 TL olarak başlangıç değeri alır.
  3. İstisna Kuralı (Ücretsiz Kargo Barajı):
    • İş kurallarında belirtilen “Sepet tutarı 500 TL ve üzeriyse kargo ücretsiz yapılmalıdır” kuralı[cite: 1], sepetTutari >= 500 koşuluyla kontrol edilir. Bu şart sağlanıyorsa, daha önce belirlenen kargo ücreti 0 yapılarak istisna uygulanır.
  4. VIP İndirim Mantığı:
    • Kullanıcının VIP üye olup olmadığı (vipDurumu == true) kontrol edilir[cite: 1]. Eğer kullanıcı VIP ise, sepet tutarı üzerinden %10 luk indirim tutarı (sepetTutari * 0.10) hesaplanarak indirimMiktari değişkenine aktarılır.
  5. Aritmetik Genel Toplam Hesabı:
    • Toplam tutar; sepet tutarından indirim miktarı çıkarıldıktan sonra, güncel kargo ücretinin eklenmesiyle ((sepetTutari - indirimMiktari) + kargoUcreti) dinamik olarak hesaplanır.
  6. Sonuçların Formatlanarak Aktarılması:
    • Hesaplanan kargo ücreti, indirim miktarı ve genel toplam, ToString("C2") metodu sayesinde yerel para birimi formatına (TL simgesi ve kuruş gösterimiyle) dönüştürülerek alt alta lblOdenecekTutar bileşeni üzerine yazdırılır.

Örnek Çıktı:

Yorum yap

Web Tasarım & Programlama sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin