© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 9 – Araba Ödeme Hesaplaması Uygulaması Bu derste öğrenilecekler: –While döngüleri kullanarak program içinde bazı ifadeleri tekrarlı bir şekilde çalıştırmak. –Sayaç kullanarak döngüyü kontrol etmek. –ListBox kontrolünü kullanmak.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamaya genel bakış Sonuçlar tablo formatında Araba ödeme hesaplaması, girilen değerlerin ardından “Hesapla” düğmesine tıklanınca hesaplanan değerleri ListBox içinde düzgün bir biçimde gösteriyor ListBox control FiyatPeşin ödemeYıllık faiz oranı
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved while döngüsü Döngü şart kontrolü –While döngüsü, yazılan şart doğru olduğu sürece kendi içine yazılan kodu tekrar tekrar çalıştırır –Döngü şartı ne zaman “false” olursa, döngü çalıştırmayı durdurur ve program normal akışına devam eder Kod örneği: int intProduct = 3; while ( intProduct <= 50 ) { intProduct *= 3; }
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved while döngüsü [ intProduct <= 50 ] [ intProduct > 50 ] Ürün sayısını üçle çarp Karar ver İlgili C# kodu intProduct *= 3; While döngüsü akış diagramı
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Constructing the Car Payment Calculator Application Figure 9.6 Car Payment Calculator application’s Form in design mode.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı oluşturmak Öncelikle aşağıdaki kontrolleri Form’a yerleştirelim ListBox’ ın adı tasarım ekranında içinde yazıyor Üç adet TextBox ekleniyor
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak “Hesapla” düğmesi için event handler oluşturalım ListBox içindeki değerler her seferinde silinip tekrar eklenecek –ListBox’ın Items özelliği eklenmiş olan elemanların listesini verir –Items üzerinden Clear() fonksiyonunu çağırmak tüm elemanları siler –Items üzerinde Add() fonksiyonunu çağırarak yeni bir eleman eklenebilir
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak İlk kodumuz aşağıda görüntülendiği gibi listBox içindeki elemanları silmek olacak
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak ListBox içindeki elemanları yazmadan önce bir satır başlıklar için ekleyelim –Items.Add kullanılacak –Sütunlar arası eşit mesafede ayrılması için escape karakteri kullanılsın \t (TAB karakteri)
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak ListBox’ın ilk satırı içine sonradan eklenecek satırlar için sütun adları (header – başlık)
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak TAB karakteri Alt satıra geçiş karakteri Yeni satır başlangıcı karakteri. Windows için alt satıra geçerken \n\r şeklinde kullanılır String içinde Backslash yazdırmak için String içinde çift tırnak işareti (“) yazdırmak için Escape karakterleri listesi
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Kredi süresi ile ilgili değişkenler Uygulama için kullanacağımız değişkenlerimiz Kullanıcı girdileri için değişkenlerimiz Hesaplanan değerleri tutmak için değişkenlerimiz
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Kullanıcının TextBox’lara girdiği değerleri değişkenlere aktarıyoruz Girdiler alınırken –Int32.Parse ve Double.Parse kullanıyoruz –Faiz oranını 100’e bölüyor ve ondalıklı karşılığını elde ediyoruz
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Hesaplama biçimi: –Peşin ödemeyi fiyattan düşüyoruz –Aylık faiz oranı yıllık faizin 12’e bölünmüş halidir
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Kredi verilen tutarı ve aylık faizi hesaplıyoruz
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Döngü ile aylık ödemeleri hesaplıyoruz –Döngü bir sayaç kullanılarak kontrol edilecek Sayaç değeri döngü içinde güncellenecek (Aksi takdirde sonsuz döngüye girilebilir) Sayaç şartı sağlamayınca döngü bitecek
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 17 Uygulamayı Oluşturmak While döngüsünün ana iskeleti
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Yıl değişkenini 12 ile çarparak kaç aylık faiz uygulayacağımızı buluyoruz
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Aylık ödeme miktarı hesabı –Şu formül uygulanacak –Para miktarı için Decimal veya Double türü kullanılabilir –Convert.ToDecimal ile dönüşüm yapılabilir Aylık ödeme = (Miktar*Faiz oranı* (1 + Faiz Oranı) Ay ) / ((1 + Faiz Oranı) Ay - 1 )
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Sonuç gösteriliyor –Items.Add kullanılacak –String.Format ile değerler para birimi olarak gösterilecek
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Çıktı formatlanıp ListBox’a satır olarak ekleniyor
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Sayacı bir artır –Sayaç değişkenine bir ekle –Böylece değer “6” olduğunda döngü sona erecektir
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Uygulamayı Oluşturmak Yıl değişkeninin değerini bir artırıyoruz