TP Banque

TP Comptes bancaires. Partie 2

Version pdf

Nous allons ajouter une nouvelle classe : la classe Banque.

Votre classe Compte doit être opérationnelle. Si ce n'est pas le cas, télécharger la classe Compte.

1°) diagramme de classes

Une classe banque va permettre de regrouper les différents comptes.

Travail à faire.

Dessiner le nouveau diagramme de classe en indiquant la relation entre les deux classes ainsi que la navigabilité.

Solution

2°) La classe Banque.

On vous fournit différents éléments de la classe Banque :

Travail à faire

Répondre aux questions suivantes :

a) Quels rôles jouent les deux attributs NbComptes et LesComptes ?

b) Justifier les instructions du constructeur

c) Pourquoi la méthode AjouteCompte est-elle privée ?

d) Que fait la méthode AjouteCompte ?

Solution.

3°) Les méthodes de la classe Compte.

Reconstituer le fichier en intégrant à la classe Compte la nouvelle classe Banque ainsi que la classe :

using System;

class AppCompte{
         static void Main(){
                   Banque b = new Banque();
                   b.Init();
        }
}

Compiler pour vérifier la bonne construction de votre programme

Travail à faire.

a) Ecrire une méthode AfficherComptes() de la classe Banque, tester en écrivant :

b.AfficherComptes();

b) Ecrire une méthode public void AjouteCompte(int n,string nom,float solde, float dec)

La tester avec :

Banque b = new Banque();
b.Init();
b.AjouteCompte(1245,"dutronc",4500,-500);
b.AfficherComptes();

c) Ecrire une méthode publique CompteSup() de la classe Banque qui retourne le compte au solde maximum. Tester avec :

b.CompteSup().Afficher();

d) Ecrire une méthode RendCompte de la classe Banque qui retourne un compte en fonction de son numéro. La fonction retourne null si le compte n'est pas trouvé. Pour cela vous rajouterez d'abord dans la classe Compte un accesseur public sur le numéro de compte. Tester avec

Compte c = b.RendCompte(1245);

if( c!=null)

c.Afficher();

e) Ecrire une méthode qui va transférer une somme d'un compte vers un autre compte.

Tester avec :

if( b.Tranferer(1245,2568,1000))   // 1000 euros du compte 1245 passe vers le compte 2568

Console.WriteLine("transfert effectué);

else

Console.WriteLine("transfert impossible);

Tester une deuxième fois avec : b.Tranferer(11633,32345,2000)   // le transfert sera impossible