Accéder au contenu principal

Exercice Langage C# Poo : encapsulation N°1


Exercice: Soit la class Stagiaire qui modélise un stagiaire, cette class comportera les attributs suivants :
Matricule Int
Nom, Prénom, filière String
Note1, Note2, Note3 Double

1.
  a) Ecrire la classe Stagiaire en interdisant l’accès aux propriétés.
  b) Ajouter les accesseurs et les modificateurs de chaque propriété.
  c) Ajouter un compteur qui permet de compter le nombre des objets créés de la class stagiaire. (propriété de classe)

2.
  a) Ajouter un constructeur sans argument qui initialise le matricule ; le matricule doit avoir la valeur du compteur.
  b) Ajouter un constructeur avec 3 arguments qui initialise le nom, le prénom, et la filière.
  c) Ajouter un constructeur qui initialise tous les propriétés de la classe stagiaire.
NB : à chaque instanciation d’un objet de stagiaire, le compteur s’incrémente et le matricule du stagiaire recevra la valeur du compteur.

3.
  d) Ajouter une méthode RAZ qui initialise le compteur à 0.
  e) Ajouter la méthode EQUAL qui teste l’égalité de 2 objets Stagiaire (2 objets stagiaires sont égaux s’ils
ont le même matricule). Peut –on déclarer cette méthode de différentes manières ?
  f) Ajouter une méthode CALCUL qui permet de calculer la moyenne générale de chaque stagiaire.
  g) Ecrire un programme de test qui crée les objets suivants :

Matricule Nom Prénom Filiére Note1 Note2 Note3
1 karami Loubna TDI
2 Jamal Youssef TDI
3 Ilham Fayrouz TRI 12 13 15
4
puis il les affiche
  h) Initialiser le compteur puis ajouter le cinquième stagiaire :
Matricule Nom Prénom Filiére Note1 Note2 Note3
1 karami Loubna TDI 13 14 12
Correction


//Q1 et Q2
//Classe Stagiaire
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TD1
{
    class Stagiaire
    {
        public static int compteur=0;
        int matricule;
        string nom, prenom, filiere;
        double note1, note2, note3;
        public int getMAtricule() { return this.matricule; }
        public string getNom() { return this.nom; }
        public string getPrenom() { return this.prenom; }
        public string getFiliere() { return this.filiere; }
        public double getNote1() { return this.note1; }
        public double getNote2() { return this.note2; }
        public double getNote3() { return this.note3; }
        public void setMatricule(int m) { this.matricule = m; }
        public void setNom(string m) { this.nom = m; }
        public void setPrenom(string m) { this.prenom = m; }
        public void setFiliere(string m) { this.filiere = m; }
        public void setNote1(double m) { this.note1 = m; }
        public void setNote2(double m) { this.note2 = m; }
        public void setNote3(double m) { this.note3 = m; }

        public void RAZ()
        {
          compteur = 0;
        }
        public bool equal(Stagiaire st1)
        {
         if (this.matricule == st1.matricule)
         return true;
         else return false;
        }
        public string decrisToi()
        {
          return "coco"+this.matricule+"\t nom : "+this.nom+"\t prenom :
          "+this.prenom+"\t Filiere "+ this.filiere;
        }
    }
}

//Constructeurs
    public Stagiaire()
    {
      this.matricule = compteur;
      compteur++; 
    }
    public Stagiaire(string n, string p, string f)
    {
    this.matricule = compteur;
    compteur++;
    this.nom = n;
    this.prenom = p;
    this.filiere = f;
    }
    public Stagiaire(string n, string p, string f, double n1, double n2, double n3)
    {
    this.matricule = compteur;
    compteur++;
    this.nom = n;
    this.prenom = p;
    this.filiere = f;
    this.note1 = n1;
    this.note2 = n2;
    this.note3 = n3;
    }
   //ou bien
    public Stagiaire(){
    this.matricule = compteur;
    compteur++;
    }
    public Stagiaire(string n, string p, string f):this()
    {
    this.nom = n;
    this.prenom = p;
    this.filiere = f;
    }
    public Stagiaire(string n, string p, string f, double n1, double n2, double n3):this(n,p,f)
    {
    this.note1 = n1;
    this.note2 = n2;
    this.note3 = n3;
    }
//Q3
public static void RAZ()
{
 compteur = 0;
}
public bool equal(Stagiaire st1)
{
  if (this.matricule == st1.matricule)
  return true;
  else return false;
}
  //ou bien
  public static bool equal(Stagiaire st1,Stagiaire st2)
  {
   if (st2.getMatricule() == st1.getMatricule())
   return true;
   else return false;
  }
public double CalculMoyenne()
{
    return (this.note1 + this.note2 + this.note3) / 3;
    }
   //Classe contenant le programme principal
   class Program
    {
    static void Main(string[] args)
    {
    Stagiaire st1, st2,st3,st4;
   
    st1 = new Stagiaire("Karami","Loubna","TDI");
    st2 = new Stagiaire("JAMAL","YOUSSEF","TDI");
    Console.WriteLine(st1.decrisToi());
    Console.WriteLine(st2.decrisToi());
    st3 = new Stagiaire("ILham", "Fairouz", "TRI",12,13,15);
    Console.WriteLine(st3.decrisToi());
   
    st4 = new Stagiaire();
    Console.WriteLine(st4.decrisToi());
    Stagiaire.RAZ();
    Stagiaire st5 = new Stagiaire();
    Console.WriteLine(st5.decrisToi());
    Console.WriteLine(Stagiaire.Equals(st1, st5));
    Console.ReadKey();
    }
}        

Posts les plus consultés de ce blog

Apprendre le cours d'algorithme par des exercices corrigés

définition de l'algorithme et la relation avec programmation L'algorithme est une procédure étape par étape, qui définit un ensemble d'instructions à exécuter dans un certain ordre pour obtenir le résultat souhaité. les algorithmes sont généralement créés indépendamment des langues utilisées. un algorithme peut être exécuté dans plus d'un langage de programmation. algorithme définition Le mot "algorithme" signifie "un processus ou un ensemble des règles à suivre dans les calculs ou autres opérations de résolution de problèmes". Un algorithme désigne une liste d'instructions étape par étape pour résoudre une instance d'un problème. Les algorithmes sont des processus finis et sont des solutions en soi. On peut le comprendre en prenant un exemple de cuisson d'une nouvelle recette. Pour préparer une nouvelle recette, on lit les instructions et les étapes et on les exécute une par une, d

exercice en html et css pour les débutant avec correction N°1

É noncé: l'objectif de cet exercices est  pratiqué de ce que tu as appris déja. écrire ne code correspondant a l'image suivante : Correction Code HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CHAUSSEURS</title> </head> <body> <!--Remplissage Header --> <header> <!--changer photo sneakers.png par une photo sur votre computer--> <img src="sneakers.png"> <h2 class="Title">ShoesStore:étre bien dans ses pieds</h2> </header> <!--Remplissage Nav --> <nav> <a href="#">Accueil</a>| <a href="#">Enfants</a> <a href="#">Hommes</a> <a href="#">Femmes</a> <a href="#">Paiement</a> </nav>

Exercices Algorithme les tableaux

Les tableaux a une dimension Exercice 1: Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en les mettant toutes à zéro. Correction Tableau Truc(6) en Numérique Variable i en Numérique Debut Pour i ← 0 à 6 Truc(i) ← 0 FinPour Fin Exercice 2: Ecrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin. Correction Tableau Truc(5) en Caractère Debut Truc(0) ← "a" Truc(1) ← "e" Truc(2) ← "i" Truc(3) ← "o" Truc(4) ← "u" Truc(5) ← "y" Fin Exercice 3: Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur. Correction Tableau Notes(8) en Numérique Variable i en Numérique Debut Pour i ← 0 à 8 Ecrire "Entrez la note numéro ", i + 1 Lire Notes(i) FinPour Fin Exercice 4: Que produit l’algorith