static void Main() { Console.WriteLine("Gestion bancaire\n----------------"); #region test Personne Personne ClientA = new Personne() { Nom = "Haye", Prenom = "Gregory", DateNaiss = new DateTime(1979, 06, 14) }; Personne ClientB = new Personne() { Nom = "Hubert", Prenom = "Emmanuelle", DateNaiss = new DateTime(1975, 10, 25) }; Console.WriteLine($"Client A: {ClientA.Nom} {ClientA.Prenom} | {ClientA.DateNaiss } "); Console.WriteLine($"Client B: {ClientB.Nom} {ClientB.Prenom} | {ClientB.DateNaiss } "); #endregion #region test Courant/Epargne depot retrait Courant C1CA = new Courant { Numero = "1111", LigneDeCredit = 1000, Titulaire = ClientA }; Courant C1CB = new Courant { Numero = "3333", LigneDeCredit = 1000, Titulaire = ClientB }; Courant C2CA = new Courant { Numero = "2222", LigneDeCredit = 0, Titulaire = ClientA }; Epargne CE1CA = new Epargne { Numero = "9999", Titulaire = ClientA }; Epargne CE1CB = new Epargne { Numero = "8888", Titulaire = ClientB }; AffichageComptes(C1CA, C1CB, C2CA, CE1CA, CE1CB); C1CA.Depot(1000); C1CB.Depot(2000); C2CA.Depot(500); C1CA.Retrait(2000); CE1CA.Depot(777); CE1CB.Depot(555); CE1CA.Retrait(77); CE1CB.Retrait(55); AffichageComptes(C1CA, C1CB, C2CA, CE1CA, CE1CB); #endregion #region Test banque , indexeur Banque ING = new Banque() { Nom = "ING" }; ING.Ajouter(C1CA); ING.Ajouter(C1CA); ING.Ajouter(C2CA); ING.Ajouter(C1CB); ING.Ajouter(CE1CB); ING.Ajouter(CE1CA); AfficherComptes(ING); ING["2255"]?.Depot(1500); // ? pour ne pas executer la methode si l'indexeur renvoi null ING["2255"]?.Retrait(100); double soldeTmp = ING["1111"].Solde; // ING["1111"] = C2CA; // indexeur set a private sinon , on peut remplacer des comtpes :DD AfficherComptes(ING); #endregion #region test Surcharge operator ING["1111"].Depot(5000); ING["3333"].Retrait(2500); AfficherComptes(ING); Console.WriteLine($"Avoir des comptes de {ClientA.Prenom} : {ING.AvoirDesComptes(ClientA)}"); Console.WriteLine($"Avoir des comptes de {ClientB.Prenom} : {ING.AvoirDesComptes(ClientB)}"); #endregion #region test Abstraction, calcul interet ING["8888"].Retrait(500); foreach (Compte compte in ING.Comptes.Values) { compte.AppliquerInteret(); } AfficherComptes(ING); Console.WriteLine($"Avoir des comptes de {ClientA.Prenom} : {ING.AvoirDesComptes(ClientA)}"); Console.WriteLine($"Avoir des comptes de {ClientB.Prenom} : {ING.AvoirDesComptes(ClientB)}"); #endregion }
static void Main(string[] args) { // Création des deux comptes Epargne MonCompte = new Epargne(); Epargne MonCompte2 = new Epargne(); ComptePayant MonComptePayant = new ComptePayant(); //Création des varaibles locales temporaire pour les conditin "if" String TmpNum = "0"; double TmpMontant = 0.00; // Permet de créer un point d'acces pour la fonction "goto" CHOIX: // Affichage des information des comptes Console.WriteLine("le code numéro : " + MonCompte.Code + " , le solde est de : " + MonCompte.Solde); Console.WriteLine("le code numéro : " + MonCompte2.Code + " , le solde est de : " + MonCompte2.Solde); Console.WriteLine("le code numéro : " + MonComptePayant.Code + " , le solde est de : " + MonComptePayant.Solde + " \n\n"); // Question posée à l'utilisateur, on récupère la valmeur de la touche appuyé Console.WriteLine("Quel type d'opération voulez faire sur vos compte ? \n ( \"d\" pour Déposer ou \"r\" pour Retirer ou \"q\" pour quitter) \n"); ConsoleKeyInfo Op = Console.ReadKey(true); // On test la valeur de la touche afin de savoir quoi faire if (Op.Key == ConsoleKey.D) { Console.WriteLine("Quel est le numéro du compte voulez vous créditer ?"); TmpNum = Convert.ToString(Console.ReadLine()); } // On test la valeur de la touche afin de savoir quoi faire if (Op.Key == ConsoleKey.R) { Console.WriteLine("Quel est le numéro du compte voulez vous débiter ?"); TmpNum = Convert.ToString(Console.ReadLine()); } // On test la valeur de la touche afin de savoir quoi faire if (Op.Key == ConsoleKey.Q) { goto FINISH; } // On test la valeur du numero de compte entrée afin de savoir s'il existe ? if (TmpNum == MonCompte.Code) { Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":"); TmpMontant = Convert.ToDouble(Console.ReadLine()); if (Op.Key == ConsoleKey.D) { MonCompte.Depot(TmpMontant); } if (Op.Key == ConsoleKey.R) { MonCompte.Retirer(TmpMontant); } } // On test la valeur du numero de compte entrée afin de savoir s'il existe ? if (TmpNum == MonCompte2.Code) { Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":"); TmpMontant = Convert.ToDouble(Console.ReadLine()); if (Op.Key == ConsoleKey.D) { MonCompte2.Depot(TmpMontant); } if (Op.Key == ConsoleKey.R) { MonCompte2.Retirer(TmpMontant); } } // On test la valeur du numero de compte entrée afin de savoir s'il existe ? if (TmpNum == MonComptePayant.Code) { Console.WriteLine("Montant de l'opération pour le compte numéro " + TmpNum + ":"); TmpMontant = Convert.ToDouble(Console.ReadLine()); if (Op.Key == ConsoleKey.D) { MonComptePayant.Depot(TmpMontant); } if (Op.Key == ConsoleKey.R) { MonComptePayant.Retirer(TmpMontant); } } // On retour au champ CHOIX ( en début de code Console.Clear(); goto CHOIX; // Label pour cloturer le programme ( fonction goto ) FINISH: Console.WriteLine("AU REVOIR !!!!"); Console.WriteLine("Press any Key to Quit..."); Console.ReadKey(); }