2012 V9 .pdf



Nom original: 2012_V9.pdfAuteur: HP

Ce document au format PDF 1.5 a été généré par Acrobat PDFMaker 10.1 pour Word / Adobe PDF Library 10.0, et a été envoyé sur fichier-pdf.fr le 25/05/2015 à 20:53, depuis l'adresse IP 41.140.x.x. La présente page de téléchargement du fichier a été vue 605 fois.
Taille du document: 256 Ko (15 pages).
Confidentialité: fichier public


Aperçu du document


Correction Examen_2012_V9
Dossier 2 : POO
1) classe Client
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;

namespace Examen_2012_V9_D3
{
public class Client
{
//-----------------Propriété-------------int _numCli;
string _nomCli;
string _prenomCli;
string _adrsCli;
//-----------------Accesseur-------------public int NumCli
{
get { return _numCli; }
set { _numCli = value; }
}
public string NomCli
{
get { return _nomCli; }
set { _nomCli = value; }
}
public string PrenomCli
{
get { return _prenomCli; }
set { _prenomCli = value; }
}
public string AdrsCli
{
get { return _adrsCli; }
set { _adrsCli = value; }
}
//-----------------constructeur-------------// par defaut
public Client()
{
}

Squalli .Med

Page 1

// par initialisation tous les champs
public Client(int NumC, string NC, string PnC, string AdrC)
{
_numCli = NumC;
_nomCli = NC;
_prenomCli = PnC;
_adrsCli = AdrC;
}
public Client( string NC, string PnC, string AdrC)
{
_nomCli = NC;
_prenomCli = PnC;
_adrsCli = AdrC;
}
// par initialisation par num
public Client(int NumC)
{
_numCli = NumC;
}
//-----------------ToString-------------public override string ToString()
{
return _numCli + " " + _nomCli + " " + _prenomCli + " " + _adrsCli;
}

}

}

2) classe Compte
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Examen_2012_V9_D3
{
public abstract class Compte
{
//--------propriétét---------protected int _numCompte;
protected DateTime _dateCompte;
protected double _soldeCompte;
protected Client _propCompte = new Client();
public Client PropCompte
{
get { return _propCompte; }
set { _propCompte = value; }
}

Squalli .Med

Page 2

//--------accesseurs---------public int NumCompte
{
get { return _numCompte; }
set { _numCompte = value; }
}
public DateTime DateCompte
{
get { return _dateCompte; }
set { _dateCompte = value; }
}
public double SoldeCompte
{
get { return _soldeCompte; }
set { _soldeCompte = value; }
}

//--------constructeur---------public Compte()
{
}
public Compte(int num, DateTime d, double s, string NC, string PnC, string AdrC)
{
_numCompte = num;
_dateCompte = d;
_soldeCompte = s;
_propCompte.NomCli = NC;
_propCompte.PrenomCli = NC;
_propCompte.AdrsCli = AdrC;
}
public Compte(int num)
{
_numCompte = num;
}
//------------------------------//--------ToString---------public override string ToString()
{
return "N° Compte : " + _numCompte + "\n Client : \n
Solde : " + _soldeCompte;
}

Squalli .Med

" + _propCompte.ToString() + " \n

Page 3

//--------Equal---------public override bool Equals(object obj)
{
return _numCompte == ((Compte)obj)._numCompte;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
//--------Methode depot et retrait---------public void depot(double M)
{
_soldeCompte = _soldeCompte + M;
}
public virtual void retrait(double M)
{
_soldeCompte = _soldeCompte - M;
}
}
}
3) classe CompteCourant
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;

namespace Examen_2012_V9_D3
{
public class CompteCourant : Compte
{
//--------propriétét---------double _decouvert;

//--------accesseurs---------public double Decouvert
{
get { return _decouvert; }
set { _decouvert = value; }
}
//--------constructeur---------public CompteCourant()
: base()
{
}

Squalli .Med

Page 4

public CompteCourant(int num, DateTime d, double s,
: base(num, d, s, NC, PnC, AdrC)
{
_decouvert = de;

string NC, string PnC, string AdrC, double de)

}
public CompteCourant(int num)
: base(num)
{
}
//--------ToString---------public override string ToString()
{
return base.ToString() + "\n decouvert: " + _decouvert + "Montant Max du decouver: " ;
}
public override void retrait(double M)
{
if (_soldeCompte >= _decouvert)
_soldeCompte = _soldeCompte - M;
}

}

}

4) classe ComteCarnet
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Examen_2012_V9_D3
{
public class ComteCarnet : Compte
{
//--------propriétét---------double _tauxInteret;
//--------accesseurs---------public double TauxInteret
{
get { return _tauxInteret; }
set { _tauxInteret = value; }
}
//--------constructeur---------public ComteCarnet()
: base()
{
}

Squalli .Med

Page 5

public ComteCarnet(int num, DateTime d, double s, string NC, string PnC, string AdrC, double t)
: base(num, d, s, NC, PnC, AdrC)
{
_tauxInteret = t;
}
public ComteCarnet(int num)
: base(num)
{
}
//--------ToString---------public override string ToString()
{
return base.ToString() + "\n Taux d'Interet: " + _tauxInteret;
}
//---------------Retret--------------------------public override void retrait(double M)
{
if (M <= _soldeCompte)
_soldeCompte = _soldeCompte - M;
}

}

}

Squalli .Med

Page 6

Dossier 3 : Evènementielle
1)

2)
Créer la classe : LesComptes et a l’intérieur on créer une collection static de type générique LC:
class LesComptes
{
public static List<Compte> LC = new List<Compte>();
}
Avant de commancer la question (3), Pour chaque Radiobouton on va créer la
procédure(CheckedChanged) qui permet d’afficher et cacher la différence entre les 2 comptes
private void R1_CheckedChanged(object sender, EventArgs e)
{
panelcourant.Visible = true;
lblcredit.Visible = true;
//--------------------------------------------panelCarnet.Visible = false;
}
private void R2_CheckedChanged(object sender, EventArgs e)
{
panelCarnet.Visible = true;
//--------------------------------------------panelcourant.Visible = false;
lblcredit.Visible = false;
}

Squalli .Med

Page 7

3)
private void cmdAjouter_Click(object sender, EventArgs e)
{
int num;
double S,Dec,t;
DateTime
dateOU;
if (int.TryParse(txtNCompte.Text, out num) && DateTime.TryParse(txtDateOU.Text, out dateOU )
&& double.TryParse(txtSolde.Text,out S) )
{
if (R1.Checked == true)
{
if (double.TryParse(txtDecouv.Text, out Dec))
{

if (LesComptes.LC.Contains(new CompteCourant(num))== false)
{

CompteCourant ccou = new CompteCourant(num, dateOU, S, txtNom.Text, txtPrenom.Text, txtAdr.Text, Dec);

LesComptes.LC.Add(ccou);
MessageBox.Show(" Compte Courant créer..... ");

}
else { MessageBox.Show(" Ce numéro de Compte existe déja..... "); }

}
else { MessageBox.Show(" Decouvert non numérique..... "); }
}
else
{

if (double.TryParse(txtTaux.Text, out t))
{
if (LesComptes.LC.Contains(new ComteCarnet(num)) == false)
{
ComteCarnet ccar = new ComteCarnet(num, dateOU, S, txtNom.Text, txtPrenom.Text, txtAdr.Text, t);
LesComptes.LC.Add(ccar);
MessageBox.Show(" Comte Carnett créer..... ");
}
else { MessageBox.Show(" Ce numéro de Compte existe déja..... "); }

}
else { MessageBox.Show(" taux non numérique..... "); }
}
// BasDePage();
}
else {
MessageBox.Show("N° Compte non Numerique !");
}
}

Squalli .Med

Page 8

4)
private void cmdModifier_Click(object sender, EventArgs e)
{
int num;
double S, Dec, t;
DateTime dateOU;
if (int.TryParse(txtNCompte.Text, out num) && DateTime.TryParse(txtDateOU.Text, out
dateOU) && double.TryParse(txtSolde.Text, out S))
{
if (R1.Checked == true)
{
if (double.TryParse(txtDecouv.Text, out Dec))
{
int i= LesComptes.LC.IndexOf(new CompteCourant(num));
if (i != -1)
{
LesComptes.LC[i].DateCompte = dateOU;
LesComptes.LC[i].PropCompte.NomCli = txtNom.Text;
LesComptes.LC[i].PropCompte.PrenomCli = txtPrenom.Text;
LesComptes.LC[i].PropCompte.AdrsCli = txtAdr.Text;
((CompteCourant)LesComptes.LC[i]).Decouvert = Dec;
MessageBox.Show(" Compte Courant Modifier..... ");
}
else { MessageBox.Show(" Ce numéro de Compte n'existe pas..... "); }

}
else { MessageBox.Show(" Decouvert non numérique..... "); }
}
else
{
if (double.TryParse(txtTaux.Text, out t))
{
int i= LesComptes.LC.IndexOf(new CompteCourant(num));
{

if (i != -1)
LesComptes.LC[i].DateCompte = dateOU;
LesComptes.LC[i].PropCompte.NomCli = txtNom.Text;
LesComptes.LC[i].PropCompte.PrenomCli = txtPrenom.Text;
LesComptes.LC[i].PropCompte.AdrsCli = txtAdr.Text;
((ComteCarnet)LesComptes.LC[i]).TauxInteret = t;
MessageBox.Show(" Comte Carnett Modifier..... ");

}
else { MessageBox.Show(" Ce numéro de Compte n'existe pas..... "); }

}
}
else
{
}

}
else { MessageBox.Show(" taux non numérique..... "); }

MessageBox.Show("N° Compte non Numerique !");

}

Squalli .Med

Page 9

5)
private void cmdSupprimer_Click(object sender, EventArgs e)
{
int num;
if (int.TryParse(txtNCompte.Text, out num))
{
int j;
if (R1.Checked == true)
{
j = LesComptes.LC.IndexOf(new CompteCourant(num));
if (j != -1)
{
LesComptes.LC.RemoveAt(j);
MessageBox.Show("le compte courant supprimer");
}
else
MessageBox.Show("le compte n'exite pas");
}
else {
j = LesComptes.LC.IndexOf(new ComteCarnet(num));
if (j != -1)
{
LesComptes.LC.RemoveAt(j);
MessageBox.Show("le compte sur carnet supprimer");
}
else
MessageBox.Show("le compte n'exite pas");
}
//------------------Affichage après suppression----------------------------// i = 0;
// Affiche(i);
// BasDePage();

}
else { MessageBox.Show("le num de compte n'est pas numérique"); }
}

Squalli .Med

Page 10

7)
//-------------------methode d'Affichage sur la position i ----------------------------------private void Affiche(int i)
{
if (LesComptes.LC.Count > 0)
{
txtNCompte.Text = LesComptes.LC[i].NumCompte.ToString();
txtSolde.Text = LesComptes.LC[i].SoldeCompte.ToString();
txtDateOU.Text = LesComptes.LC[i].DateCompte.ToString();
txtNom.Text = LesComptes.LC[i].PropCompte.NomCli;
txtPrenom.Text = LesComptes.LC[i].PropCompte.PrenomCli;
txtAdr.Text = LesComptes.LC[i].PropCompte.AdrsCli;
if (LesComptes.LC[i] is CompteCourant)
{
R1.Checked = true;
txtDecouv.Text = ((CompteCourant)LesComptes.LC[i]).Decouvert.ToString();
}
if (LesComptes.LC[i] is ComteCarnet)
{
R2.Checked = true;
txtTaux.Text = ((ComteCarnet)LesComptes.LC[i]).TauxInteret.ToString();
}
}
else {
txtNCompte.Clear();
txtSolde.Clear() ;
txtDateOU.Clear() ;
txtNom.Clear();
txtPrenom.Clear();
txtAdr.Clear();
txtDecouv.Clear();
txtTaux.Clear();

}

}
// BasDePage();

//-----------------------------------debut----------------------------------private void cmdpPemier_Click(object sender, EventArgs e)
{
i = 0;
Affiche(i);
}

Squalli .Med

Page 11

//-----------------------------------dernier----------------------------------private void cmdDernier_Click(object sender, EventArgs e)
{
i = LesComptes.LC.Count - 1;
Affiche(i);
BasDePage();
}
//-----------------------------------suivant----------------------------------private void cmdSuivant_Click(object sender, EventArgs e)
{
if (i < LesComptes.LC.Count - 1)
{
i++;
Affiche(i);
BasDePage();
}
else { MessageBox.Show("Fin de la liste"); }
}
//-----------------------------------precedent----------------------------------private void cmdPrecedent_Click(object sender, EventArgs e)
{
if (i >0)
{
i--;
Affiche(i);
}
else { MessageBox.Show("Debut de la liste"); }
}

8)
//-----------------------------------Bas de page du Formulaire---------------------------------private void BasDePage()
{
if (LesComptes.LC.Count > 0)
{
txtNB.Text = "Compte " + (i + 1).ToString() + "/" + LesComptes.LC.Count.ToString();
}
else {
txtNB.Text = "Compte 0 / 0";
}
}

Squalli .Med

Page 12

6)

using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;

namespace Examen_2012_V9_D3
{
public partial class frmRRecherche : Form
{
public frmRRecherche()
{
InitializeComponent();
}
//----------------------------------private void Affiche(int i)
{
if (LesComptes.LC.Count > 0)
{
txtNCompte.Text = LesComptes.LC[i].NumCompte.ToString();
txtSolde.Text = LesComptes.LC[i].SoldeCompte.ToString();
txtDateOU.Text = LesComptes.LC[i].DateCompte.ToString();
txtNom.Text = LesComptes.LC[i].PropCompte.NomCli;
txtPrenom.Text = LesComptes.LC[i].PropCompte.PrenomCli;
txtAdr.Text = LesComptes.LC[i].PropCompte.AdrsCli;
if (LesComptes.LC[i] is CompteCourant)
{
R1.Checked = true;

Squalli .Med

Page 13

}
else
{

}

}

txtDecouv.Text = ((CompteCourant)LesComptes.LC[i]).Decouvert.ToString();
}
if (LesComptes.LC[i] is ComteCarnet)
{
R2.Checked = true;
txtTaux.Text = ((ComteCarnet)LesComptes.LC[i]).TauxInteret.ToString();
}

txtNCompte.Clear();
txtSolde.Clear();
txtDateOU.Clear();
txtNom.Clear();
txtPrenom.Clear();
txtAdr.Clear();
txtDecouv.Clear();
txtTaux.Clear();

private void R1_CheckedChanged_1(object sender, EventArgs e)
{
panelcourant.Visible = true;
lblcredit.Visible = true;
//--------------------------------------------panelCarnet.Visible = false;
}

private void R2_CheckedChanged_1(object sender, EventArgs e)
{
panelCarnet.Visible = true;

}

Squalli .Med

//--------------------------------------------panelcourant.Visible = false;
lblcredit.Visible = false;

Page 14

//-----------------valider--------------------private void cmdValider_Click(object sender, EventArgs e)
{
int num;
if (int.TryParse(txtNCompte.Text, out num))
{
int i = LesComptes.LC.IndexOf(new CompteCourant(num));
if (i != -1)
{
Affiche(i);
paneRecherche.Visible = true;
txtNCompte.ReadOnly = true;
}
else
{
MessageBox.Show("n° Compte n'existe pas");
}
}
}

//-----------------Nouvelle Recherche---------------------

}

}

private void cmdNouveau_Click(object sender, EventArgs e)
{
paneRecherche.Visible = false;
txtNCompte.ReadOnly = false;
txtNCompte.Clear();
txtNCompte.Focus();
}

Squalli .Med

Page 15


Aperçu du document 2012_V9.pdf - page 1/15
 
2012_V9.pdf - page 3/15
2012_V9.pdf - page 4/15
2012_V9.pdf - page 5/15
2012_V9.pdf - page 6/15
 




Télécharger le fichier (PDF)


2012_V9.pdf (PDF, 256 Ko)

Télécharger
Formats alternatifs: ZIP Texte




Documents similaires


2012 v9
praticiencs
modifierpraticiencs
chapitre4
compterenduvisiteurcs
visiteurscs

Sur le même sujet..




🚀  Page générée en 0.03s