La classe Employé
Objectif :
- Définir les propriétés et méthodes d’une classe
- Définir des constructeurs
- Créer une instance de classe
- Accéder par les accesseurs aux propriétés en lecture et écriture d’un objet
- Appliquer des méthodes
Travail à faire:
- Définir une classe Employé caractérisée par les attributs : Matricule, Nom, Prénom, DateNaissance, DateEmbauche, Salaire.
- Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe.
- Définir un constructeur permettant d’initialiser les attributs de la méthode par des valeurs saisies par l’utilisateur.
- Ajouter à la classe la méthode Age( ) qui retourne l’âge de l’employé.
- Ajouter à la classe la méthode Anciennete( ) qui retourne le nombre d’années d’ancienneté de l’employé.
- Ajouter à la classe la méthode AugmentationDuSalaire( ) qui augmente le salaire de l’employé en prenant en considération l’ancienneté.
Si Ancienneté < 5 ans, alors on ajoute 2%. - Si Ancienneté < 10 ans, alors on ajoute 5%. - Sinon, on ajoute 10%.
- Ajouter la méthode AfficherEmployé() qui affiche les informations de l’employé comme suit :
- Matricule : […]
- Nom complet : [NOM Prénom]
- Age : […]
- Ancienneté : […]
- Salaire : […]
Le nom doit être affiché en majuscule. Pour le prénom, la première lettre doit être en majuscule, les autres en minuscule.
- Ecrire un programme de test pour la classe Employé.
Exemple d’exécution :
Matricule: 10941
Nom: SALIM
Prénom: omar
Date de naissance (jj/mm/aaaa): 04/08/1990
Date embauche (jj/mm/aaaa): 5/11/2012
salaire: 10000
Matricule : 10941
Nom Complet : SALIM Omar
Age : 25
Ancienneté : 3
Salaire : 10000
Aprés application de l'augmentation de salaire
Matricule : 10941
Nom Complet : SALIM Omar
Age : 25
Ancienneté : 3
Salaire : 10200
La classe Employé:
//Auteur : CHAOULID Copyright:Exelib.net class Employe { private int matricule; private string nom; private string prenom; private DateTime datenaissance; private DateTime dateembauche; private double salaire; public int Matricule { get { return matricule; } set { matricule = value; } } public string Nom { get { return nom; } set { nom = value; } } public string Prenom { get { return prenom; } set { prenom = value; } } public DateTime Datenaissance { get { return datenaissance; } set { datenaissance = value; } } public DateTime Dateembauche { get { return dateembauche; } set { dateembauche = value; } } public double Salaire { get { return salaire; } set { salaire = value; } } public Employe(int m, string n, string p, DateTime dn, DateTime de, double s) { matricule = m; nom = n; prenom = p; datenaissance = dn; dateembauche = de; salaire = s; } public int Age() { int age; age = DateTime.Now.Year - datenaissance.Year; if (datenaissance.AddYears(age) > DateTime.Now.Date) age--; return age; //une deuxième méthode //double t; //TimeSpan ts = DateTime.Now - datenaissance; //t = Math.Floor(ts.TotalDays / 365.25); //return t; } public int Anciennete() { int Anc; Anc = DateTime.Now.Year - dateembauche.Year; if (dateembauche.AddYears(Anc) > DateTime.Now.Date) Anc--; return Anc; } public void AugmentationDuSalaire() { if (Anciennete() < 5) salaire += salaire * 0.02; else if (Anciennete() < 10) salaire += salaire * 0.05; else salaire += salaire * 0.1; } public void AfficherEmploye() { Console.Out.WriteLine("\n\nMatricule : " + matricule); Console.Out.WriteLine("Nom Complet : " + nom.ToUpper() + " " + prenom.Substring(0, 1).ToUpper() + prenom.Substring(1).ToLower()); Console.Out.WriteLine("Age : " + Age()); Console.Out.WriteLine("Ancienneté : " + Anciennete()); Console.Out.WriteLine("Salaire : " + salaire); } }
Le programme de test:
//Auteur : CHAOULID Copyright: Exelib.net class Program { static void Main(string[] args) { int mat; string nom, prenom; DateTime dn, de; double salaire; Console.Out.Write("Matricule: "); mat = int.Parse(Console.In.ReadLine()); Console.Out.Write("Nom: "); nom = Console.In.ReadLine(); Console.Out.Write("Prénom: "); prenom = Console.In.ReadLine(); Console.Out.Write("Date de naissance (jj/mm/aaaa): "); dn = DateTime.Parse(Console.In.ReadLine()); Console.Out.Write("Date embauche (jj/mm/aaaa): "); de = DateTime.Parse(Console.In.ReadLine()); Console.Out.Write("salaire: "); salaire = double.Parse(Console.In.ReadLine()); Employe e = new Employe(mat, nom, prenom, dn, de, salaire); e.AfficherEmploye(); Console.Out.WriteLine("\n\nAprés application de l'augmentation de salaire"); e.AugmentationDuSalaire(); e.AfficherEmploye(); Console.ReadKey(); } }