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 |
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 |
//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();
}
}