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 ; } } }