Vous êtes sur la page 1sur 9

Dev-Informatique

Réalisé par : HACHIMI SAFAE


Module N°13 : Programmation Orientée Objet
Chapitre 4 : Les exceptions
EXERCICE1 :

1°)-Créer la classe Compte avec les attributs: Solde , Propriétaire Personne ,Nom

2°)-Créer la classe ExceptionSolde

3°)-Dans la classe Compte ajouter les méthodes suivantes :

 Débiter(float Somme ) : qui permet de débiter la somme passé en paramètre le solde est insuffisante une
exception doit être levée

4°)-Créer la classe Banque avec les attributs suivantes : Nom , une liste des comptes

Ajouter le constructeurs

Ajouter les méthodes

AjouterCompte(Compte C) : qui permet d’ajouter un compte à la liste ,

Si le Numéro du compte est déjà dans la liste , une exception doit être levée

Retrait (int Numéro , double Somme ) : qui permet de retirer la somme passée au paramètre de puis le compte
dont le numéro est celui passé en paramètre .
CORRECTION EX1 : class Compte {

class ExceptionSolde : Exception{ public int Numéro ;

public SoldeException():base(‘’Solde Insuffisant’’); public double Solde ;

{….} public Personne Propriétaire ;

public SoldeException(String S):base(S) public Compte(int N ,double S , Personne P){

{..} this.Numéro =N;

} this.Solde =S;

this.Propriétaire =P;}

public void DébiterCompte(double Somme){

if(Somme>Solde){

throw new SoldeException();}

else{ Solde = Solde-Somme ;}}


public String ToString(){ class Banque{

return (‘’Numéro:’’+Numéro+’’\t’’+’’Solde:’’ public String Nom ;

+Solde );} public List<Compte>LC;

} public Banque(){

this.Nom = ‘’XXX’’ ;

this.LC = new List<Compte>();}

public Banque(String N , List<Compte> L ){

this.Nom = N ;

this.LC = L; }
public void AjouteCompte(Compte C){

bool trouver =false ;

for(int i=0 ; i<LC.Count ;i++){

if(LC[i].Numéro==C.Numéro){

trouver=true;break} }

if(trouver==true){

throw new Exception(‘’Erreur : Numéro est déjà dans la liste ‘’);}

else{ LC.Add (C );}}

public void Retrait(int Numéro , double Somme){

for(int i=0 ; i<LC.Count ; i++){

if(LC[i].Numéro==C.Numéro){

try{ LC[i].DébiterCompte(Somme);}

catch(Exception E){ Console.WriteLine(E.Message);}}} }


class Program{

public static void Main(String[] args){

Compte C ; List<Compte> LC= new List<Compte >();

Banque B ;

Console.WriteLIne(‘’donner lenombre des comptes :’’);

int N = int.Parse(Console.ReadLine());

int choix ;

for(int i=0;i<N ;i++){

Console.WriteLIne(‘’Donner le numéro :’’);

int num = int.Parse(Console.ReadLine());

Console.WriteLIne(‘’Donner le solde :’’);

double solde = double.Parse(Console.ReadLine());

C = new Compte(num ,solde);

LC.Add ( C );}
Console.WriteLine(‘’donner le numéro de Banque :’’);

String Nom = Console.ReadLine();

B = new Banque ( Nom, C);

do{

Console.WriteLine(‘’Choisir l’opération que vous voulez \n1-Retrait\n2-Ajouter un compte\n3-Afficher’’);

switch(choix){

case 1 : Console.WriteLine(‘’Donner le numéro de compte ‘’);

int num = int.Parse(Console.ReadLine());

Console.WriteLine(‘’donner la somme qui vous voulez retirer ‘’);

double Somme = double.Parse(Console.ReadLine());

B.Retrait(num , Somme) ; break ;


case 2 : Console.WriteLine(‘’Donner le numéro de compte ‘’);

int numéro = int.Parse(Console.ReadLine());

Console.WriteLine(‘’donner le solde ‘’);

double Solde = double.Parse(Console.ReadLine());

C= new Compte(numéro , Solde) ;

try{ B.AjouterCompte ( C );}

catch(Exception E){ Console.WriteLine(E.Message);}

break;

case 3 : for(int i = 0 ;i<LC.Count ;i++){

Console.WriteLIne(LC[i].ToString());}

break;}

}while(choix<=3);Console.ReadLine();}}
DEV-INFORMATIQUE
MERCI POUR VOTRE
ATTENTION

Vous aimerez peut-être aussi