Vous êtes sur la page 1sur 3

Examen final en C# SMI S6

Dr BELANGOUR Abdessamad
Dure : 1h30min
Problme : soit Sexe une numration, IPersonne une interface, Personne une classe qui
limplmente et Groupe une classe qui sen sert et dont les codes sont :
Public enum Sexe{ M,F}
public interface IPersonne{
void marier(personne conjoint) ;
void divorcer(personne conjoint) ;
void afficherstatut() ;
}
Public class Personne : IPersonne{
Private string _cin ;
Private string _nom;
Pivate Sexe _sexe;
//les proprits sont dj fournies en cas de besoin : cin,nom,sexe,conjoint
//constructeur paramtr 1 pour une personne non encore marie
public Personne(string cin, string nom, Sexe sexe){
This._cin=cin ;
This._nom=nom ;
This._sexe=sexe;
This._conjoint=null;
}
//constructeur paramtr 2
public Personne(string cin,string nom,Sexe sexe,Personne conjoint){
This._cin=cin ;
This._nom=nom ;
This._sexe=sexe;
This._conjoint=conjoint;//ici nous voulons garder la rfrence au conjoint
}
//constructeur paramtr 3
public Personne(string cin, string nom, Sexe sexe, string cinConjoint,string
nomConjoint,Sexe sexeConjoint){// fournir}
Public void marier(Personne conjoint){// fournir}
Public void divorcer(Personne conjoint){// fournir}
Public void afficherStatut(){// fournir}
}

Class Groupe{
Private ArrayList liste ;
Public Groupe(){
Liste = new ArrayList() ;
remplirListe() ;
}
Private void remplierListe(){
String strCon = Data Source=localhost; Integrated Security=SSPI; Initial
Catalog=EtatCivil ;
String strRq = select cin,nom,sexe from personnes;
// terminer
}
Public void int Length{ get {return liste.Count ;}}
//indexeur fournir
Public void afficherToutLesStatuts(){// fournir}
Public void marierCelibataires(){// fournir}
}

Questions :
N.B. : ne rcrivez pas toute la classe. Donnez juste le code des mthodes demandes !!!
1. Donner le code du troisime constructeur paramtr de la classe Personne.
2. Donner le code de la mthode marier de la classe Personne.
Attention : vrifier que les deux personnes marier sont de sexes opposs et quils
ne sont pas dj maries.
3. Donner le code de la mthode divorcer de la classe Personne.
Attention : vrifier que les personnes divorcer sont dj maries.
4. Donner le code de la mthode aficherStatut de la classe Personne qui afficher une
phrase de type Ali est marie Sara ou Ali est clibataire
5. Donner le code de la mthode prive remplirListe de la classe Groupe qui permet
dinitialiser notre liste partir de la base de donnes EtatCivil .
6. Ajouter un indexeur la classe Groupe.
Attention : la classe Groupe ne parle quavec des interfaces IPersonne.
7. Donner le code de la mthode afficherToutLesStatuts de la classe Groupe qui
parcoure la liste et affiche le statut marital de chacun des objets quelle contient.
8. Donner le code de la mthode marierCelibataire de la classe Groupe qui parcourt
la liste des personnes et les marie hommes et femmes.

Remarque : la classe ArrayList stocke les objets quon lui passe sous forme dobjets de type
object.et Voici quelque mthodes :
-

Void Add(object o)
Void Remove(object o)
Int indexOf(object o)

Vous aimerez peut-être aussi