Пример #1
0
        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
        }
Пример #2
0
        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();
        }