Menu
Coddy logo textTech

Récapitulatif - Gestionnaire de compte bancaire

Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 18 sur 70.

challenge icon

Défi

Facile

Construisons un système complet de gestion de comptes bancaires qui rassemble tout ce que vous avez appris sur l'architecture des classes. Vous allez créer une classe BankAccount qui distingue correctement les données d'instance (uniques à chaque compte) et les données statiques (partagées par tous les comptes), tout en utilisant la validation pour maintenir les comptes dans des états valides.

Vous allez créer deux fichiers pour organiser votre code :

  • BankAccount.cs : Définissez une classe BankAccount dans l'espace de noms Banking. Votre compte doit inclure :
    • Un champ const MinimumBalance défini sur 100 - le solde minimum que tous les comptes doivent maintenir
    • Un champ static InterestRate (decimal) qui commence à 0.03m - partagé par tous les comptes
    • Un champ static TotalAccounts (int) qui suit le nombre de comptes existants
    • Un champ readonly AccountNumber (string) - défini une seule fois lors de la création et jamais modifié
    • Un champ de support privé _ownerName avec une propriété OwnerName qui supprime les espaces blancs (trim) lors de la définition
    • Un champ de support privé _balance avec une propriété Balance qui empêche le solde de descendre en dessous de MinimumBalance (si quelqu'un essaie de le définir plus bas, maintenez-le à MinimumBalance)
    • Un constructeur qui accepte le numéro de compte, le nom du propriétaire et le solde initial, et qui incrémente TotalAccounts
    • Une méthode statique SetInterestRate(decimal rate) pour mettre à jour le taux d'intérêt partagé
    • Une méthode CalculateInterest() qui retourne le solde multiplié par le taux d'intérêt
  • Program.cs : Dans votre fichier principal, créez deux comptes bancaires en utilisant les valeurs d'entrée, mettez à jour le taux d'intérêt et affichez les informations du compte ainsi que les données bancaires partagées.

Vous recevrez sept entrées :

  • Premier numéro de compte
  • Premier nom du propriétaire
  • Premier solde initial
  • Deuxième numéro de compte
  • Deuxième nom du propriétaire
  • Deuxième solde initial
  • Nouveau taux d'intérêt (sous forme de décimal comme 0.05)

Affichez la sortie dans ce format :

--- 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}

Par exemple, si les entrées sont ACC001, Alice Smith , 500, ACC002, Bob Jones, 50, et 0.05, la sortie devrait être :

--- 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

Remarquez comment le nom d'Alice est débarrassé des espaces supplémentaires, et comment le solde de Bob de 50 est relevé au minimum de 100. L'intérêt est calculé en utilisant le taux mis à jour de 0.05 qui a été défini après la création des comptes.

Essayez vous-même

using System;
using Banking;

class Program
{
    public static void Main(string[] args)
    {
        // Lire les entrées pour le premier compte
        string accountNumber1 = Console.ReadLine();
        string ownerName1 = Console.ReadLine();
        decimal balance1 = Convert.ToDecimal(Console.ReadLine());
        
        // Lire les entrées pour le deuxième compte
        string accountNumber2 = Console.ReadLine();
        string ownerName2 = Console.ReadLine();
        decimal balance2 = Convert.ToDecimal(Console.ReadLine());
        
        // Lire le nouveau taux d'intérêt
        decimal newRate = Convert.ToDecimal(Console.ReadLine());
        
        // TODO: Créer deux objets BankAccount en utilisant les valeurs d'entrée
        
        // TODO: Mettre à jour le taux d'intérêt en utilisant la méthode statique
        
        // TODO: Imprimer le résumé de la banque au format requis
        // --- Bank Summary ---
        // Interest Rate: {InterestRate}
        // Minimum Balance: {MinimumBalance}
        // Total Accounts: {TotalAccounts}
        // (ligne vide)
        // Account: {AccountNumber}
        // Owner: {OwnerName}
        // Balance: {Balance}
        // Interest Earned: {interest}
        // (ligne vide)
        // Account: {AccountNumber}
        // Owner: {OwnerName}
        // Balance: {Balance}
        // Interest Earned: {interest}
    }
}

Toutes les leçons de Programmation Orientée Objet