Jan.01
Correction Passage 2014 V1
Examen
Fullscreen ModeCorrection
La Classe Zone
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Zone
{
//attribut
private uint idZone;
private string NomZone;
private static uint auto;
//Accesseur
public uint getidZone()
{
return this.idZone;
}
public string getNomZone() {
return this.NomZone;
}
public void setNomZone(String _NomZone)
{
this.NomZone = _NomZone;
}
//Constructeur
public Zone()
{
auto++;
this.idZone = auto;
}
public Zone(string pnomZ)
{
this.NomZone = pnomZ;
auto++;
this.idZone = auto;
}
public override string ToString()
{
return (this.NomZone + ";" + this.idZone);
}
}
}
La Classe Pays
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Pays
{
//attributs
private uint Idpays;
private string Nompays;
private Zone zone;
private static uint auto;
private List<Produit> Produits_disponibles = new List<Produit>();
//Accesseur
public List<Produit> getProduits_disponibles()
{
return this.Produits_disponibles;
}
public void setProduits_disponibles(List<Produit> _Produits_disponibles)
{
this.Produits_disponibles = _Produits_disponibles;
}
public uint getIdpays()
{
return this.Idpays;
}
public string getNompays()
{
return this.Nompays;
}
public void setNompays(string _Nompays)
{
this.Nompays = _Nompays;
}
public void setZone(Zone _zone)
{
this.zone=_zone;
}
public Zone getZone()
{
return this.zone;
}
//Constructeur
public Pays()
{
auto++;
this.Idpays = auto;
}
public Pays(string nom, Zone z)
{
this.zone = z;
this.Nompays = nom;
auto++;
this.Idpays = auto;
}
//methode
public void AjouterProduit(Produit produit)
{
bool exist = false;
foreach (Produit l in Produits_disponibles)
{
if (l.getIdProduit() == produit.getIdProduit())
exist = true;
break;
}
if (!exist) Produits_disponibles.Add(produit);
else throw new Exception("Produit existant");
}
public void SupprimerProduit(Produit identiilani_produit)
{
bool exist = false;
foreach (Produit l in Produits_disponibles)
{
if (l.getIdProduit() == identiilani_produit.getIdProduit())
exist = true;
break;
}
if (!exist) Produits_disponibles.Remove(identiilani_produit);
else throw new Exception("Produit est inexistant");
}
public string ListerProduitse()
{
string lister = "les produits disponibles dans le pays" + Nompays + "\n";
foreach (Produit l in Produits_disponibles)
{
lister += l.ToString() + "\n";
}
return lister;
}
public override string ToString()
{
return (this.Nompays + ";" + this.zone + ";" + this.Idpays);
}
}
}
La Classe Ville
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Ville
{
//attributs
private uint IdVille;
private string NomVille;
private uint CodePostal;
private Pays pays;
private static uint auto;
//Accesseurs et mutateurs
public uint getIdVille()
{
return this.IdVille;
}
public void setNomVille(String _NomVille)
{
this.NomVille = _NomVille;
}
public string getNomVille()
{
return this.NomVille;
}
public uint getCodePostal()
{
return this.CodePostal;
}
public void setCodePostal(uint _CodePostal)
{
this.CodePostal = _CodePostal;
}
public Pays getPays()
{
return this.pays;
}
public void setPays(Pays _pays)
{
this.pays = _pays;
}
//Constructeur
public Ville()
{
auto++;
this.IdVille = auto;
}
public Ville(string NomVille, uint CodePostal, Pays pays)
{
this.NomVille = NomVille;
this.CodePostal = CodePostal;
this.pays = pays;
auto++;
this.IdVille = auto;
}
//Méthode
public override string ToString()
{
return (this.IdVille + ";" + this.NomVille + ";" + this.CodePostal + ";" + pays);
}
}
}
La Classe Catégorie
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Categorie
{
//attribut
private uint Idcategorie;
private string Nomcategorie;
private Categorie categorie;
private static uint auto;
//Accesseur
public uint getIdcategorie()
{
return this.Idcategorie;
}
public string getNomcategorie()
{
return this.Nomcategorie;
}
public void setNomcategorie(string _Nomcategorie)
{
this.Nomcategorie = _Nomcategorie;
}
public Categorie getCategorie()
{
return this.categorie;
}
public void setCategorie(Categorie _categorie)
{
this.categorie = _categorie;
}
//Constructeur
public Categorie()
{
auto++;
this.Idcategorie = auto;
}
public Categorie(string _Nomcategorie)
{
this.Nomcategorie = _Nomcategorie;
auto++;
this.Idcategorie = auto;
}
public Categorie(string _Nomcategorie, Categorie _categorie)
{
this.Nomcategorie = _Nomcategorie;
this.categorie = _categorie;
auto++;
this.Idcategorie = auto;
}
//Methode
public override string ToString()
{
if (categorie != null)
return (this.categorie + ";" + this.Nomcategorie);
return this.Nomcategorie;
}
}
}
La Classe Produit
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Produit
{
//attribut
private uint IdProduit;
private string NomProduit;
private float PrixProduit;
private Categorie categorie;
private static uint auto;
//Accesseur
public uint getIdProduit()
{
return IdProduit;
}
public void setNomProduit(string _NomProduit)
{
this.NomProduit = _NomProduit;
}
public string getNomProduit()
{
return this.NomProduit;
}
public float getPrixProduit()
{
return PrixProduit;
}
public void getPrixProduit(float _PrixProduit)
{
this.PrixProduit = _PrixProduit;
}
public Categorie getCategorie()
{
return this.categorie;
}
public void setCategorie(Categorie _categorie )
{
this.categorie = _categorie;
}
//Constructeur
public Produit()
{
auto++;
this.IdProduit = auto;
}
public Produit(string _NomProduit, float _PrixProduit, Categorie _categorie)
{
this.NomProduit = _NomProduit;
this.PrixProduit = _PrixProduit;
this.categorie = _categorie;
auto++;
this.IdProduit = auto;
}
public override string ToString()
{
return (this.categorie + ";" + this.NomProduit + ";" + this.PrixProduit);
}
}
}
La Classe Achat
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Achat
{
//Attribut
private int Qte_Achat;
private Produit Produit_Ach;
private DateTime date_achat;
//Accesseur
public int getQte_Achat()
{
return this.Qte_Achat;
}
public void setQte_Achat(int _Qte_Achat)
{
this.Qte_Achat = _Qte_Achat;
}
public Produit getProduit_Ach()
{
return this.Produit_Ach;
}
public void settProduit_Ach(Produit _Produit_Ach)
{
this.Produit_Ach = _Produit_Ach;
}
public DateTime getDate_achat()
{
return this.date_achat;
}
//Constructeur
public Achat() {
this.date_achat = DateTime.Now;
}
public Achat(int Qte, Produit p)
{
this.Qte_Achat = Qte;
this.Produit_Ach = p;
this.date_achat = DateTime.Now;
}
public float MontantAchat()
{
return Qte_Achat * Produit_Ach.getPrixProduit();
}
public override string ToString()
{
return (this.Qte_Achat + ";" + this.Produit_Ach + ";" + MontantAchat());
}
}
}
La Classe Client
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Client
{
//Attribut
private uint Idclient;
private static uint auto;
private string nomclient;
private string prenomclient;
private string adresse_postale;
private Ville ville;
private string num_tele;
private string email;
protected List<Achat> ls = new List<Achat>();
//Accesseur et mutateurs
//...........
// .........
//Constructeur
public Client()
{
auto++;
this.Idclient = auto;
}
public Client(string _nom, string _preno, Ville _v, string _adr, string _tele, string _email)
{
this.nomclient = _nom;
this.prenomclient = _preno;
this.adresse_postale = _adr;
this.ville = _v;
this.num_tele = _tele;
this.email = _email;
auto++;
this.Idclient = auto;
}
public virtual void AcheterProduit(Achat achat)
{
this.ls.Add(achat);
}
public string ListerAchats(DateTime date_début, DateTime date_Fin)
{
string lister = "les achats effectués par le client " + this.nomclient + " " + this.prenomclient + "\n";
foreach (Achat a in ls)
{
if (date_début >= a.getDate_achat() && date_Fin <= a.getDate_achat())
lister += a.ToString() + "\n";
}
return lister;
}
public override string ToString()
{
return (this.nomclient + ";" + this.prenomclient + ";" + this.adresse_postale + ";" + this.ville + ";" + this.num_tele + ";" + this.email + ";" + this.Idclient);
}
}
}
La Classe Client_Fidèle
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Client_Fidèle : Client
{
//attribut
private uint IdCf;
private static uint auto;
//Accesseur et mutateurs
//.........
//Constructeur
public Client_Fidèle()
{
auto++;
this.IdCf = auto;
}
public Client_Fidèle(string _nom, string _preno, Ville _v, string _adr, string _tele, string _email)
: base(_nom, _preno, _v, _adr, _tele, _email)
{
auto++;
this.IdCf = auto;
}
public override void AcheterProduit(Achat achat)
{
Produit p = new Produit(achat.getProduit_Ach().getNomProduit(), achat.getProduit_Ach().getPrixProduit() * 0.75f, achat.getProduit_Ach().getCategorie());
Achat a = new Achat(achat.getQte_Achat(), p);
base.ls.Add(a);
}
public override string ToString()
{
return base.ToString() + ";" + this.IdCf ;
}
}
}
