IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

probleme avec la recherche dans une liste chainée


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 67
    Par défaut probleme avec la recherche dans une liste chainée
    Bonsoir a tous, et merci d'avoir toujours ete la.

    jai un probleme avec ma liste chainé, lorsque je recherche un element ne se trouvant pas dedans, je tombe dans une boucle infinie.

    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
     
    //recherche un element dans la liste
    void getInfo(AnnuL *a)
    {
    	char *tempNom = (char*)malloc(20*sizeof(char*));
            //demande le nom a rechercher dans la liste
    	printf("Nom \t: \t");
    	gets(tempNom);
     
            //tant que l'on se trouve dans la liste et que le nom est pas trouver
            //on boucle
    	while(a && strcmp(a->Nom,tempNom))
    	{
    			a = a->pSuivant;
    	}
            //a la sortie du tableau on verifie la condition de sortie
            //est ce que le nom a ete trouve?
    	if(!strcmp(a->Nom,tempNom))
    	{
    		printf("===============\n");
    		printf("Nom : \t\t%s\n",a->Nom);
    		printf("Numero : \t%d\n",a->Num);
    		printf("===============\n");
    	}
    	else
    		printf("%s n'est pas dans la liste\n",tempNom);
    }
    J'espere que vous pourrez m'aidez car je vous avoue etre perdu.

    Je vous remercie

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!strcmp(a->Nom,tempNom))
    Ne devrais tu pas plutôt tester si "a" est NULL ou pas ? (Quel sens peut-avoir NULL->Nom...)

    --
    Jedaï

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 67
    Par défaut
    Je suis abasourdi.

    C'est cela, c'est si bete que je ne vois pas pourquoi je n'y ai pas pensé.

    Je te remercie de tout coeur, je ne pense pas que j'aurai trouver tout seul.
    Merci encore.

Discussions similaires

  1. Recherche dans une liste chainée
    Par reyo47 dans le forum C
    Réponses: 3
    Dernier message: 02/06/2014, 00h02
  2. Recherche dans une liste Chainée
    Par alexisleprogrammeur dans le forum Débuter
    Réponses: 4
    Dernier message: 21/06/2013, 13h57
  3. fonction de recherche dans une liste chainée
    Par seifvai dans le forum C
    Réponses: 10
    Dernier message: 23/12/2007, 10h35
  4. [XSLT] probleme avec les doublons dans une liste deroulante
    Par mikooo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/04/2007, 15h37
  5. Réponses: 2
    Dernier message: 21/02/2007, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo