Jan.01

Correction Passage 2016 V2

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);
        }
    }
}
Passage
Share this Story:
  • facebook
  • twitter
  • gplus

About Hassan EL Bahi

Assistant Professor at Cadi ayyad University.

Leave a comment

Comment