Bonjour,


Je débute et j'ai un petit problème : en gros j'ai fait un code pour créer une liste chainée comprenant un nom et un numéro pour chaque case, puis des fonctions trier, supprimer et ainsi de suite que je n'ai pas mises.

Ensuite on m'a demandé de mettre les fonctions Affiche et insere_en_tete dans la structure Personne.

Pas de problèmes pour la fonction Affiche car c'est un void à la base, mais la fonction insere_en_tete me bloque, j'ai essayé pas mal de choses qui n'ont pas fonctionné, si quelqu'un pouvait m'aider ce serait très gentil

Voici mon programme :
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
typedef struct Personne{
	int Id;
	string nom;
	void Affiche ();
	struct Personne *next;
}liste;
 
liste *insere_en_tete (liste *lis){
	liste *c;
	c=new liste;
	if (c!=NULL){
		Personne tmp;
		int static j=0;
		j++;
		cout<<"\nId_"<<j<<" : ";
		cin>>tmp.Id;
		c->Id=tmp.Id;
		cout<<"\nNom_"<<j<<" : ";
		cin>>tmp.nom;
		c->nom=tmp.nom;
		c->next=lis;
		lis=c;
	}
	return lis;
}		
void liste::Affiche (){
	cout<<setw(20)<<Id<<setw(20)<<nom<<endl<<endl;		
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
void main (){
int  x=3, i=1;
liste *debut;
debut=NULL;
while (i<=x){
	debut=insere_en_tete(debut);
	i++;
 }				
for (liste *parcours_a=debut; parcours_a!=NULL; parcours_a=parcours_a->next)
        parcours_a->Affiche();
}