Jan.01
TP5- Collections ArrayList génériques
Problème :
- Créer la classe personne qui contient la code, le nom , le prenom , et l’age.
- Créer les constructeurs et les propriétés
- Ecrire la methode getInfo();
- Créer une liste qui stocke les personnes
- Créer la méthode ajouter(personne) qui ajoute une personne à la liste.
- Créer la méthode modifier_nom (code, nom) qui modifie le nom d‟une personne.
- Créer la méthode supprimer (nom) qui supprime une personne de la liste.
- Créer la méthode chercher(code) qui cherche une personne connaissant son code.
- Créer la méthode affichage() qui liste toutes les personnes.
- Créer la méthode compter() qui return le nombre des personnes stockées.
- Créer une fonction categories() qui affiche la catégorie de chaque personne ( « p » si son age <18 , « j » si son age est entre 19 est 35 , et « g » si son age > 35.
- Ecrire un menu pour appeler ces fonctions.
Correction
La classe Personne
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TP5
{
class Personne
{
int code;
String nom;
String prenom;
int age;
// Constructeurs
public Personne() { }
public Personne(String nom, String prenom, int age, int code)
{
this.nom = nom;
this.prenom = prenom;
this.age = age;
this.code = code;
}
// les accesseurs et mutateurs
public int getCode()
{
return code;
}
public void setCode(int _code) {
code = _code;
}
public int getAge()
{
return age;
}
public void setAge(int _age)
{
age = _age;
}
public string getNom()
{
return nom;
}
public void setNom(string _nom)
{
nom = _nom;
}
public string getPrenom()
{
return prenom;
}
public void setPrenom(string _prenom)
{
prenom = _prenom;
}
// Question 3
public String getinfo()
{
return " Je m’appelle " + nom + " -- " + prenom + " J’ai " + age + " an j'ai le code " + code;
}
// Question 4 : déclaration de la liste des personnes
static List<Personne> lis = new List<Personne>();
// Question 5
static public void ajouter(Personne p)
{
lis.Add(p);
}
// Question 6
static public void modifier_nom(int c, String n)
{
foreach (Personne p in lis)
{
if (p.code == c)
{
p.nom = n;
}
}
}
// Question 7
static public void supprimer(String n) {
foreach (Personne p in lis) {
if (p.nom.Equals(n)) {
lis.Remove(p);
break;
}
}
}
// Question 8
static public Personne chercher(int code)
{
Personne pr = null;
foreach (Personne p in lis)
{
if (p.code == code)
{
pr = p;
break;
}
} return pr;
}
// Question 9
static public void affichage()
{
foreach (Personne p in lis)
{
Console.WriteLine(p.getinfo());
}
}
// Question 10
static public int compter()
{
return lis.Count;
}
// Question 11
static public void categories()
{
foreach (Personne p in lis)
{
if (p.age <= 18) {
Console.WriteLine("la catégorie de " + p.nom + " est :P");
}
if (p.age >= 19 && p.age <= 35) {
Console.WriteLine("la catégorie de " + p.nom + " est :J");
}
if (p.age >= 36) {
Console.WriteLine("la catégorie de " + p.nom + " est :G");
}
}
}
}
}
La classe Program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TP7
{
class Program
{
static void Main(string[] args)
{
int c;
do
{
Console.WriteLine("1- pour ajouter");
Console.WriteLine("2- pour afficher");
Console.WriteLine("3- pour modifier");
Console.WriteLine("4- pour supprimer");
Console.WriteLine("5- pour rechercher");
Console.WriteLine("6- pour afficher la gategorie");
Console.WriteLine("7- pour compter");
Console.WriteLine("8- pour quitter");
c = int.Parse(Console.ReadLine());
switch (c)
{
case 1:
{
Console.WriteLine("donner le nom , le prenom, l'age et le code");
String n = Console.ReadLine();
String pr = Console.ReadLine();
int a = int.Parse(Console.ReadLine());
int co = int.Parse(Console.ReadLine());
Personne p = new Personne(n, pr, a, co);
Personne.ajouter(p);
break;
}
case 2:
{
Personne.affichage();
break;
}
case 3:
{
Console.WriteLine("entrer le code à modifier");
int co = int.Parse(Console.ReadLine());
Console.WriteLine("donner le nouveau nom");
String n = Console.ReadLine();
Personne.modifier_nom(co, n);
break;
}
case 4:
{
Console.WriteLine("entrer le nom à supprimer");
String n = Console.ReadLine();
Personne.supprimer(n);
break;
}
case 5:
{
Console.WriteLine("entrer le code à chercher");
int n = int.Parse(Console.ReadLine());
Personne.chercher(n); break;
}
case 6:
{
Personne.categories();
break;
}
case 7:
{
Console.WriteLine("le nombre des personnes est :" + Personne.compter());
break;
}
}
} while (c != 8);
Console.ReadLine();
}
}
}
