Menu
Coddy logo textTech

Özet - Banka Hesabı Yöneticisi

Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 18 / 70.

challenge icon

Görev

Kolay

Sınıf mimarisi hakkında öğrendiğiniz her şeyi bir araya getiren eksiksiz bir banka hesabı yönetim sistemi oluşturalım. Örnek verilerini (her hesaba özgü) ve statik verileri (tüm hesaplar arasında paylaşılan) düzgün bir şekilde ayıran, aynı zamanda hesapları geçerli durumlarda tutmak için doğrulama kullanan bir BankAccount sınıfı oluşturacaksınız.

Kodunuzu düzenlemek için iki dosya oluşturacaksınız:

  • BankAccount.cs: Banking ad alanı (namespace) içinde bir BankAccount sınıfı tanımlayın. Hesabınız şunları içermelidir:
    • 100 değerine ayarlanmış bir const alan MinimumBalance - tüm hesapların koruması gereken minimum bakiye
    • 0.03m ile başlayan bir static alan InterestRate (decimal) - tüm hesaplar arasında paylaşılan
    • Kaç tane hesap olduğunu takip eden bir static alan TotalAccounts (int)
    • Bir readonly alan AccountNumber (string) - oluşturma sırasında bir kez ayarlanır ve asla değiştirilmez
    • Ayarlanırken boşlukları kırpan (trim) bir OwnerName özelliği ile birlikte özel bir yedekleme alanı (backing field) _ownerName
    • Bakiyenin MinimumBalance altına düşmesini engelleyen bir Balance özelliği ile birlikte özel bir yedekleme alanı _balance (eğer birisi daha düşük ayarlamaya çalışırsa, MinimumBalance değerinde tutun)
    • Hesap numarası, sahip adı ve başlangıç bakiyesini kabul eden ve TotalAccounts değerini artıran bir yapıcı metot (constructor)
    • Paylaşılan faiz oranını güncellemek için statik bir metot SetInterestRate(decimal rate)
    • Bakiyenin faiz oranıyla çarpımını döndüren bir metot CalculateInterest()
  • Program.cs: Ana dosyanızda, giriş değerlerini kullanarak iki banka hesabı oluşturun, faiz oranını güncelleyin ve paylaşılan banka verileriyle birlikte hesap bilgilerini görüntüleyin.

Yedi giriş alacaksınız:

  • Birinci hesap numarası
  • Birinci sahip adı
  • Birinci başlangıç bakiyesi
  • İkinci hesap numarası
  • İkinci sahip adı
  • İkinci başlangıç bakiyesi
  • Yeni faiz oranı (0.05 gibi bir ondalık sayı olarak)

Çıktıyı şu formatta yazdırın:

--- Bank Summary ---
Interest Rate: {InterestRate}
Minimum Balance: {MinimumBalance}
Total Accounts: {TotalAccounts}

Account: {AccountNumber}
Owner: {OwnerName}
Balance: {Balance}
Interest Earned: {interest}

Account: {AccountNumber}
Owner: {OwnerName}
Balance: {Balance}
Interest Earned: {interest}

Örneğin, girişler ACC001, Alice Smith , 500, ACC002, Bob Jones, 50 ve 0.05 ise çıktı şöyle olmalıdır:

--- Bank Summary ---
Interest Rate: 0.05
Minimum Balance: 100
Total Accounts: 2

Account: ACC001
Owner: Alice Smith
Balance: 500
Interest Earned: 25.0

Account: ACC002
Owner: Bob Jones
Balance: 100
Interest Earned: 5.0

Alice'in adındaki fazladan boşlukların nasıl kırpıldığına ve Bob'un 50 olan bakiyesinin minimum 100'e nasıl yükseltildiğine dikkat edin. Faiz, hesaplar oluşturulduktan sonra ayarlanan güncellenmiş 0.05 oranı kullanılarak hesaplanır.

Kendin dene

using System;
using Banking;

class Program
{
    public static void Main(string[] args)
    {
        // İlk hesap için girişleri oku
        string accountNumber1 = Console.ReadLine();
        string ownerName1 = Console.ReadLine();
        decimal balance1 = Convert.ToDecimal(Console.ReadLine());
        
        // İkinci hesap için girişleri oku
        string accountNumber2 = Console.ReadLine();
        string ownerName2 = Console.ReadLine();
        decimal balance2 = Convert.ToDecimal(Console.ReadLine());
        
        // Yeni faiz oranını oku
        decimal newRate = Convert.ToDecimal(Console.ReadLine());
        
        // TODO: Giriş değerlerini kullanarak iki BankAccount nesnesi oluşturun
        
        // TODO: Statik yöntemi kullanarak faiz oranını güncelleyin
        
        // TODO: Banka özetini istenen formatta yazdırın
        // --- Bank Summary ---
        // Interest Rate: {InterestRate}
        // Minimum Balance: {MinimumBalance}
        // Total Accounts: {TotalAccounts}
        // (boş satır)
        // Account: {AccountNumber}
        // Owner: {OwnerName}
        // Balance: {Balance}
        // Interest Earned: {interest}
        // (boş satır)
        // Account: {AccountNumber}
        // Owner: {OwnerName}
        // Balance: {Balance}
        // Interest Earned: {interest}
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler