TD OO Corrigé

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Exercice 3

Reprendre l’exercice 2 :

public class Etudiant

public string Nom { get; set; }

public string Prenom { get; set; }

public List<float> Notes { get; set; }

public Etudiant(string nom, string prenom)

{Nom = nom;

Prenom = prenom;

Notes = new List<float>();}

- Ajouter la propriété Adresse à la classe étudiant.


- Ajouter une méthode qui permet de donner la mention : Refusé, Passable, Assez
bien, Bien, très bien.
- Dans la fonction Main :
o Assurez-vous que le nom soit unique
o Afficher tous les étudiants ayant une mention Bien et habitant à la ville
de Tunis.
public class Etudiant
{
public string Nom { get; set; }
public string Prenom { get; set; }
public string Adresse { get; set; }
public List<float> Notes { get; set; }
public Etudiant(string nom, string prenom, string adresse)
{ Nom = nom;
Prenom = prenom;
Adresse = adresse;
Notes = new List<float>();
}
public string Mention()
{ if (Notes.Count > 0)
{ if (this.Notes.Average() >= 16)
return "Très Bien";
else if (Notes.Average() >= 14)
return "Bien";
else if (Notes.Average() >= 12)
return "Assez Bien";
else if (Notes.Average() >= 10)
return "Passable";
else
return "Refusé";
}
else
return string.Empty;
}
}
static void Main(string[] args)
{
int taille;
List<Etudiant> Etudiants = new List<Etudiant>();
do
{
Console.WriteLine("Saisir le nombre d'étudiants");
taille = int.Parse(Console.ReadLine());
} while (taille <= 0 || taille > 20);

for (int i = 0; i < taille; i++)


{
string nom;
string prenom;
string adresse;
do
{
Console.WriteLine($"Saisir le nom de l'étudiant {i}");
nom = Console.ReadLine();
}
while (Etudiants.Any(element => element.Nom == nom));
//Etudiants.Exists(element => element.Nom ==nom )
//while (Etudiants.FindIndex(element => element.Nom == nom) >= 0) ;
Console.WriteLine($"Saisir le prenom de l'étudiant {i}");
prenom = Console.ReadLine();
Console.WriteLine($"Saisir l'adresse de l'étudiant {i}");
adresse = Console.ReadLine();
Etudiant E = new Etudiant(nom, prenom, adresse);
for (int j = 0; j < 3; j++) //hypothèse 3 notes
{
Console.WriteLine($"Saisir la note {j} :");
E.Notes.Add(float.Parse(Console.ReadLine()));
}

Etudiants.Add(E);
}

Console.WriteLine("Liste des étudiants habitant Tunis avec la mention Bien :");

foreach ( Etudiant elt in Etudiants)


{
if(elt.Mention() == "Bien" && elt.Adresse.IndexOf("Tunis") != -1)
{
Console.WriteLine($"{elt.Nom} , {elt.Prenom}");
}

//ou bien
List<Etudiant> listTunisBien = Etudiants.FindAll(elt => elt.Mention() == "Bien"
&& elt.Adresse.IndexOf("Tunis") != -1);

listTunisBien.ForEach(elt => Console.WriteLine($"{elt.Nom} , {elt.Prenom}"));

Console.ReadKey();
}
}
Exercice 4

Reprendre la classe Etudiant :

- Créer la classe EtudiantLocal qui hérite de la classe Etudiant et qui rajoute la propriété CIN.

- Créer la classe EtudiantEtranger qui hérite de la classe Etudiant et qui rajoute les propriétés Nationalité et
numPasseport.

- Redéfinir la méthode ToString() dans chacune des classes pour qu’elle affiche:

- Etudiant : nom, prenom, adresse, moyenne

- EtudiantLocal : CIN, nom, prenom, adresse, moyenne

- EtudiantEtranger : Nationalité, NumPasseport, nom, prenom, adresse, moyenne

Dans la fonction Main :

Créer une liste de 5 étudiants : 3 locaux et 2 étrangers et utiliser la métode ToString pour afficher leurs données.

public class Etudiant

{
private string Nom { get; set; }
public string Prenom { get; set; }
public string Adresse { get; set; }
public List<float> Notes { get; set; }
public Etudiant(string nom, string prenom, string adresse)
{
Nom = nom;
Prenom = prenom;
Adresse = adresse;
Notes = new List<float>();
}
public string Mention()
{
if (Notes.Count > 0)
{
if (this.Notes.Average() >= 16)
return "Très Bien";
else if (Notes.Average() >= 14)
return "Bien";
else if (Notes.Average() >= 12)
return "Assez Bien";
else if (Notes.Average() >= 10)
return "Passable";
else
return "Refusé";
}
else
return string.Empty;
}

public override string ToString()


{
return $"{Nom}, {Prenom} , {Adresse} , {Notes.Average()}";
}
}
class EtudiantLocal : Etudiant
{
public string CIN{ get; set; }
public EtudiantLocal(string nom, string prenom, string adresse,
string cin):base(nom,prenom,adresse)
{
CIN = cin;
}
public override string ToString()
{
return $"{CIN} ,{base.ToString()}";
}

class EtudiantEtranger : Etudiant


{
public string Nationalite { get; set; }
public string NumPasseport { get; set; }
public EtudiantEtranger(string nom, string prenom, string adresse,
string nationalite, string numpasseport) : base(nom, prenom, adresse)
{
Nationalite = nationalite;
NumPasseport = numpasseport;
}
public override string ToString()
{
return $"{Nationalite} , {NumPasseport}, {base.ToString()}";
}

}
class Program
{
static void Main(string[] args)
{
//Ex4
List<Etudiant> Etudiants = new List<Etudiant>();
Etudiants.Add(new EtudiantLocal("LAA", "Aa", "adresse", "111"));
Etudiants.Add(new EtudiantLocal("LBB", "Aa", "adresse", "222"));
Etudiants.Add(new EtudiantLocal("LCC", "Aa", "adresse", "333"));

Etudiants.Add(new EtudiantEtranger("EAA", "Aa", "adresse", "111","ALG"));


Etudiants.Add(new EtudiantEtranger("EBB", "Aa", "adresse", "111","MAR"));

foreach(Etudiant E in Etudiants)
{
Console.WriteLine( E.ToString() );
}

Console.ReadKey();
}
}

Vous aimerez peut-être aussi