BOnjour je dois réaliser une classe listesalarie avec une liste chaine simple de salarie

Je ne sais pas par où commencer .
J'ai créer mon prototype mais je ne suis meme pas sur.

Quelqu'un peut me dire comment commencer ma classe avec ma liste chaine???

Pas le faire à ma place mais m'expliquer par où commencer.

Je vous donnes les fichiers:

salarie.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
Fichier testé avec succès
*/
 
#ifndef _salarie_H
#define _salarie_H
 
#include <iostream>
#include "date.h"
#include "personnel.h"
using namespace std;
 
//classe salarie
class salarie:public personnel
{
	protected:
		date arrivee;
		int salaire;
		int nbtravail;
		bool enconge;
		salarie *prec;
		salarie *suivant;
 
	public:
		//constructeur
		salarie();
		salarie(char* ,char* ,int, int,date, int, bool);
		//saisie
		void saisie();
		//affiche
		void affiche();
		//augmente le salaire
		int augmentesalaire(int);
		//droit au rtt
		double rtt();
		//pointeuse
		int ajoutenbtravail(int);
		//prend congé
		bool prendreconge(int);
		//fin de conge
		bool finconge();
		bool operator < (const salarie &);
 
};
#endif
salarie.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
Fichier testé avec succès
*/
 
#include "salarie.h"
#include <iostream>
#include "date.cpp"
#include "personnel.cpp"
#include <math.h>
using namespace std;
 
//constructeur
salarie::salarie()
{
	arrivee.maj(01,01,2000);
	salaire=0;
	nbtravail=0;
	enconge=false;
	prec =NULL;
	suivant=NULL;
}
salarie::salarie(char* x, char* y, int z, int s, date d, int nbt, bool c):personnel(x,y,z)
{
 
	arrivee=d;
	salaire=s;
	nbtravail=nbt;
	enconge=c;
	prec=NULL;
	suivant=NULL;
}
//Affiche
void salarie::affiche()
{	
	personnel::affiche();
	cout << "Date d embauche: " ;
	cout << arrivee << endl;
	cout << "Salaire: " << salaire << endl;
	cout << "Nombre d heures: " << nbtravail << endl;
	cout << "En conge: " ;
	if (enconge){ cout << "Oui"<< endl; } else { cout << "Non" << endl;}
}
//saisie
void salarie::saisie()
{
	int a,b,c,tmp;
	personnel::saisie();
	cout << "Date d embauche : jj? " ;
	cin >> a;
	cout << "Date d embauche : mm? ";
	cin >>b;
	cout << "Date d embauche : aa? " ;
	cin >> c;
	arrivee.maj(a,b,c);
	cout << "Salaire ? ";
	cin >> salaire;
	cout << "Nombre d heures ?" ;
	cin >> nbtravail;
	cout << "Enconge ? (0=oui/1=non) ";
	cin >> tmp;
	if (tmp){ enconge=false ;}else{enconge=true;}
}
//augmente salaire
int salarie::augmentesalaire(int a)
{
	salaire=salaire+a;
}
//rtt?
//calcule le nb de RTT ou x est le nombre de jours travaillés
double salarie::rtt()
{
	return ceil(nbtravail/15);//arrondi a l entier le plus proche au dessu
}
//ajoute un nombre de jour travaillés
int salarie::ajoutenbtravail(int x)
{
	nbtravail=nbtravail+x;	
}
//on verifie qu'il peut prendre conge. Si c'est le cas , on les déduit de son quota.
bool salarie::prendreconge(int jdem) //prend en paramètre un certains nombre de jours demandés
{
	//on test si les jours demandés sont inférieurs aux jours acquis
	if (rtt()<jdem)
	{
		return 0;	
	}
	else
	{
		int res;
		res= -(jdem*15);
		ajoutenbtravail(res);
		enconge = true;
		return 1;
	}
}
// on remet l'employe en travail et no,n plus en congé
bool salarie::finconge()
{
	enconge=false;	
}
// on compare la date des employés
bool salarie::operator <(const salarie & s)
{
	if (arrivee<s.arrivee)
	{
		return true;
	}
	else
	{
		return false;
	}
}
listesalarie.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _listesalarie_H
 
#define _listesalarie_H
 
#include <iostream>
#include "salarie.h"
using namespace std;
 
 
//classe listesalarie
class listesalarie:public salarie
{
		//pointeurs
		salarie *tete;
		salarie *queue;
	public:
		//constructeur
		listesalarie();
		//affiche liste
		void affiche();
		//ajoute un salarie en queue de liste
		int ajoutequeue(const salarie &);
		//insere un salarie en bon endroit
		int insertordre(const salarie &);
		//recherche un salarie par son N & P
		int recherche (char* const,char* const);
		//supprime un salarie par son N & P
		int supprime (char*, char*);
		//calcule le nombre de salarie
		int nbsalarie();
		//retourne le nombre de salarie en congé
		int nbconges();
		//retourne les salarie partageant le bureau du tel
		int memebureau(int);	
};
 
#endif
listesalarie.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include "listesalarie.h"
#include "salarie.cpp"
using namespace std;
 
//constructeur
listesalarie::listesalarie()
{
	tete =new salarie;
	tete=NULL;
	queue=new salarie;
	queue=NULL;
}
//affiche
void listesalarie::affiche()
{
	salarie* s = tete;
 
	while (s != NULL) {
 
		s->affiche();
 
		s=suivant;
 
	}
 
}
Je vous remercie de vos conseils