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 (propres à chaque compte) des données statiques (partagées entre 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 à 100 — le solde minimum que tous les comptes doivent maintenir
    • Un champ static InterestRate (decimal) qui commence à 0.03m — partagé entre 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 privé de stockage _ownerName avec une propriété OwnerName qui supprime les espaces superflus lors de l’affectation
    • Un champ privé de stockage _balance avec une propriété Balance qui empêche le solde de descendre sous MinimumBalance (si quelqu’un essaie de lui attribuer une valeur inférieure, conservez la valeur MinimumBalance)
    • Un constructeur qui accepte le numéro de compte, le nom du titulaire et le solde initial, et 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 renvoie le solde multiplié par le taux d’intérêt
  • Program.cs : dans votre fichier principal, créez deux comptes bancaires à l’aide de valeurs saisies, mettez à jour le taux d’intérêt et affichez les informations des comptes ainsi que les données bancaires partagées.

Vous recevrez sept entrées :

  • Numéro du premier compte
  • Nom du titulaire du premier compte
  • Solde initial du premier compte
  • Numéro du deuxième compte
  • Nom du titulaire du deuxième compte
  • Solde initial du deuxième compte
  • Nouveau taux d’intérêt (sous forme décimale, comme 0.05)

Affichez la sortie au format suivant :

--- 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 que les espaces superflus sont supprimés du nom d’Alice et que le solde de Bob, égal à 50, est relevé au minimum de 100. Les intérêts sont calculés à l’aide du taux mis à jour de 0.05, 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

Entraînez-vous par vous-même : Compilateur C# en ligne