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