Examen
Fullscreen Mode
Correction
La Classe Employe
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class Employe
{
int Matricule { get; set; }
public string Nom { get; set; }
public string Prenom { get; set; }
public string Adresse { get; set; }
public string Genre { get; set; }
public float Age { get; set; }
private string service { get; set; }
private string departement { get; set; }
public string Ville { get; set; }
public Employe() { }
public Employe(int id, string nom, string prenom, string adresse, string Genre, float Age, string service, string dep) {
this.Matricule = id;
this.Nom = nom;
this.Prenom = prenom;
this.Adresse = adresse;
this.Genre = Genre;
this.Age = Age;
this.departement = dep;
}
public override string ToString() {
return "id:"+ this.Matricule + " Nom\n" + this.Nom + "Prenom\n" + this.Prenom+"Adresse:"+ this.Adresse + " Genre\n" + this.Genre + "Age\n" +this.Age+ "service:"+ this.service + " Departement\n" + this.departement ; }
}
}
La Classe Mission
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class Mission
{
int Numero;
string Libellé;
string Lieu;
string Commentaire;
public float Montant;
public Mission() { }
public Mission(int num, string libelle, string lieu, string commentaire, float montant) {
this.Numero = num;
this.Libellé = libelle;
this.Lieu = lieu;
this.Commentaire = commentaire;
this.Montant = montant ;
}
public virtual int CalculerCharge () {
// Taux est un paramétre non déclarer dans la classe pour régle ce problème j'ai l'initisalisé avec 1
int taux = 1;
return (int) Montant * taux ;
}
public override string ToString() {
return "Numero:" + this.Numero + " Libellé\n" + this.Libellé + "Lieu\n" + this.Lieu + "Commentaire:" + this.Commentaire + " Montant\n" + this.Montant;
}
}
}
La Classe OrdreMissionTrain
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class OrdreMissionTrain : Mission
{
// Question 1-a
Employe emp;
int classe;
string typetrain;
float montant;
// Question 1-b
public OrdreMissionTrain() : base() { }
// Question 1-c
public OrdreMissionTrain(int num, string libelle, string lieu, string commentaire, float Montant, Employe emp, int classe, string typetrain, float montant)
: base(num, libelle, lieu, commentaire, Montant)
{
if ((montant < 10) || (montant > 500))
{
// Question 1-d
throw new MontantException("le montant ne peut pas etre inférieur à 10 ou supérieur à 500");
} else {
this.emp = emp;
this.classe = classe;
this.typetrain = typetrain;
this.montant = montant; }
}
// Question 1-e
public override int CalculerCharge() {
return (int) montant * classe;
}
// Question 1-f
public override string ToString() {
return (base.ToString() + "emp:" + this.emp + " classe\n" + this.classe + "typetrain\n" + this.typetrain + "montant:" + this.montant);
}
}
}
L'exception : MontantException
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class MontantException : Exception
{
public MontantException(string msg) : base(msg) {}
}
}
La Classe ListeMissions
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class ListeMissions {
// Question 2-a
public List<Mission> lp;
// Question 2-b
public ListeMissions() {
lp = new List<Mission>();
}
// Question 2-c
public void ajouter(Mission dep) {
Console.WriteLine("Confirmer l'ajout en tappant le chiffre 1");
int rep = Convert.ToInt32(Console.ReadLine());
if (rep == 1)
{
lp.Add(dep);
}
}
// Question 2-d
public void Afficher() {
foreach (Mission dep in lp)
Console.WriteLine(dep.ToString());
}
// Question 2-e
public void supprimer(Mission dep) {
foreach (Mission d in lp) {
if (d.Equals(dep)) {
Console.WriteLine("Confirmer la suppression en tappant le chiffre 1");
int rep = Convert.ToInt32(Console.ReadLine());
if (rep == 1)
lp.Remove(dep);
break;
}
}
}
// Question 2-f
public void Rechercher() {
foreach (Mission d in lp) {
if (d.Montant > 1000) {
Console.WriteLine(d.ToString());
}
}
}
}
}
La Classe Program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Passage2016
{
class Program
{
static void Main(string[] args)
{
// Question 3-b
Console.WriteLine("Creation de 3 objets : Mission, OrderMisstionTrain et Employe ");
Employe em = new Employe(1, "Said", "Farah", "Rue Hassan 2 Agadir", "M", 24, "maintenance", "Informatique");
Mission m1 = new Mission(1, "Installation d'un réseau", "Agadir", "Installation des équipement d'un réseau informatique à une socité d'import et export à agadir", 20000);
OrdreMissionTrain m2 = new OrdreMissionTrain(2, "Livraison d'un colis", "Rabat", "Livraison d'un colis des machines informatique à une socité à Rabat ", 4000, em, 4, "TGV", 500);
// Question 3-c
ListeMissions lm = new ListeMissions();
lm.ajouter(m1);
lm.ajouter(m2);
lm.Afficher();
// Question 3-a
int c;
do
{
Console.WriteLine("1- pour ajouter");
Console.WriteLine("2- pour afficher");
Console.WriteLine("3- pour supprimer");
Console.WriteLine("4- pour rechercher");
Console.WriteLine("5- pour quitter");
c = int.Parse(Console.ReadLine());
switch (c)
{
case 1:
{
Mission m3 = new Mission(3, "Formation c#", "Casa", "Animation d'une formation à un groupe de developpeur de la socité KLD", 6000);
lm.ajouter(m3);
break;
}
case 2:
{
lm.Afficher();
break;
}
case 3:
{
lm.supprimer(m1);
break;
}
case 4:
{
lm.Rechercher();
break;
}
}
} while (c != 5);
}
}
}