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ğin her şeyi bir araya getiren eksiksiz bir banka hesabı yönetim sistemi oluşturalım. Örnek verileri (her hesaba özgü) ve statik verileri (tüm hesaplar arasında paylaşılan) doğru şekilde birbirinden ayıran ve hesapların geçerli durumlarda kalmasını sağlamak için doğrulama kullanan bir BankAccount sınıfı oluşturacaksın.

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

  • BankAccount.cs: BankAccount ad alanında bir Banking sınıfı tanımla. Hesabın şunları içermelidir:
    • const değerine ayarlanmış bir MinimumBalance alanı olan 100 — tüm hesapların koruması gereken minimum bakiye
    • static değeriyle başlayan ve tüm hesaplar arasında paylaşılan bir InterestRate alan olan 0.03m (decimal)
    • Kaç hesabın var olduğunu takip eden bir static alan olan TotalAccounts (int)
    • Oluşturma sırasında bir kez ayarlanan ve hiçbir zaman değiştirilmeyen bir readonly alan olan AccountNumber (string)
    • Ayarlandığında boşlukları kırpan bir _ownerName özelliğine sahip özel bir OwnerName destek alanı
    • Bakiyenin _balance değerinin altına düşmesini engelleyen bir Balance özelliğine sahip özel bir MinimumBalance destek alanı (birisi daha düşük bir değer ayarlamaya çalışırsa, değeri MinimumBalance olarak koru)
    • Hesap numarasını, hesap sahibinin adını ve başlangıç bakiyesini kabul eden ve TotalAccounts değerini artıran bir kurucu
    • Paylaşılan faiz oranını güncellemek için bir statik SetInterestRate(decimal rate) metodu
    • Bakiye ile faiz oranının çarpımını döndüren bir CalculateInterest() metodu
  • Program.cs: Ana dosyanda, girdi değerlerini kullanarak iki banka hesabı oluştur, faiz oranını güncelle ve paylaşılan banka verileriyle birlikte hesap bilgilerini görüntüle.

Yedi girdi alacaksın:

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

Çıktıyı şu biçimde yazdır:

--- 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 girdiler ACC001, Alice Smith , 500, ACC002, Bob Jones, 50 ve 0.05 ise çıktı şu şekilde 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 değerine yükseltildiğine dikkat et. 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

Kendi başına pratik yap: Online C# derleyicisi