Prblème sur les liste chainées

Prblème sur les liste chainées - C - Programmation

Marsh Posté le 16-11-2007 à 16:56:09    

Bonjour à tous,
ca fait depuis septembre que j'ai commencé à apprendre la programmation en C. Comme vous allez vous en rendre compte, mon niveau est faible mais voila j'ai un projet à faire.
Il s'agit en fait de créer une sorte de répertoire où on entre le nom, prénom, téléphone ect....
Donc pour commencer, je dois créer une structure comportant toutes les indications (nom, prénom..).
Ne sachant pas combien de personne seront intégrés à mon répertoire, que dois voir du coté des listes chaines.
On n'est qu'au tout debut mais je bloque déjà et j'espere que vous pourrez m'aidez.

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void AjoutMaillon(repertoire **p);
  4. typedef struct repertoire repertoire;
  5. struct repertoire
  6. {
  7.        char nom[50];
  8.        char prenom[50];
  9.        char telephone[50];
  10.        struct repertoire *precedent; //precedent pointe sur la structure precedente
  11. };
  12. int main(int argc, char *argv[])
  13. {
  14.     repertoire *pointSommet = NULL;
  15.     AjoutMaillon(&pointSommet);
  16.  
  17.     system("PAUSE" );
  18.     return 0;
  19. }
  20. void AjoutMaillon(repertoire **p)
  21. {
  22.      repertoire *nvlElement = malloc(sizeof(repertoire));
  23.    
  24.      printf("Entrez votre nom :" );
  25.      scanf("%s", (*nvlElement).nom);
  26.      printf("Entrez votre prenom :" );
  27.      scanf("%s", (*nvlElement).prenom);
  28.      printf("Entrez votre telephone :" );
  29.      scanf("%s", (*nvlElement).telephone);
  30.    
  31.      (*nvlElement).precedent = *p //adresse de l'element precedent pointé par pointeur p
  32.    
  33.      *p = nvlElement;        //p pointe sur le dernier element créé
  34. }


 
J'ai ici creé une structure "repertoire", la fonction AjoutMaillon qui me permet de demander a l'utilisateur d'entrez ses coordonnées et les enregistres dans la structure créé.
Je veux maintenant pouvoir afficher les donner que j'ai rentré dans la structure mais je ne vois pas vraiment comment m'y prendre.
J'ai me suis fortement inspiré des cours sur internet mais la plupart traitent des listes chainées ne gerant que les variable et non les chaines de caractères.  
J'espere que vous pourrez m'aider en étant si possible clair car j'ai du mal en programmation.
 
Merci d'avance

Message cité 1 fois
Message édité par jusco le 16-11-2007 à 17:30:41
Reply

Marsh Posté le 16-11-2007 à 16:56:09   

Reply

Marsh Posté le 16-11-2007 à 18:55:18    

Pour lire toutes les données dans ta liste chainée tu dois faire un boucle et tu t'arrête lorsque pTemp == NULL; (dans ta boucle pTemp = pTemp->precendent). Il faut utiliser pTemp pour pas perdre la valeur de p.
 
Pour afficher les chaines de caractères, rien de plus simple.
printf("%s", p->nom);

Reply

Marsh Posté le 16-11-2007 à 21:01:49    

jusco a écrit :

J'ai me suis fortement inspiré des cours sur internet mais la plupart traitent des listes chainées ne gerant que les variable et non les chaines de caractères.


Quel que soit l'élément géré dans la liste, le principe de programmation ne change jamais !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed