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 :

boucleRecherche


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 116
    Par défaut boucleRecherche
    Bonjour,

    voilà je voudrais faire une boucle sur un tableau déclaré en globale.

    ma fonction locale pour la recherche s'appelle : recherche()

    Ce que je parviens à faire pour l'instant c'est afficher un resultat sur un critere en faisant apparaître la donnée de facon unique.

    Mais dans mon tableau le critére recherché survient dans plusieurs cellules différentes de mon tablo.
    exemple :
    nom1 : bob
    prenom : jean

    nom2 : bob
    prenom : paul.

    Donc je voudrais que ma boucle de recherche me fasse apparaître bob-jean et bob-paul.

    Voilà le code que j'ai qui me fait apparaitre que bob jean :
    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
    void recherche()
    {
         char recNom[50];
         int i;
         printf("entrez le nom a chercher :");
         scanf("%s",recNom);
     
     
     
         for(i=0;i<nbclient && strcmp(recNom,tabclient[i].NomClient);i++)
     
         if(i==nbClient)
         {
            printf("Pas de resultat, veuillez inserer des clients");
         }
         else
     
         {
            printf("Nom : %s, \n  Prenom : %s\n", tabclient[i].nomclient,tabclient[i].prenom);   
     
         }
     
     
     
    }
    j'ai essayer une boucle while mais ca donne rien.
    si kelkun peut m'aider, ce sera cool.
    merci

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Il manque quelque chose à ton code, il vaut mieux faire un copier-coller...

    Pour l'instant, ton code va afficher

    Nom: dfqsdf Prenom: fdsfsd
    Nom: qsdqf Prenom: fdsfsds
    ....
    Jc

  3. #3
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    [pas bien][/pas bien]

    http://emmanuel-delahaye.developpez.com/notes.htm

    EDIT:depeche toi de modifier ou Manu va se venere!

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    je ne sais pas si j'ai bien compris mais c'est normal qu'il ne t'affiche que bob-jean car une fois trouvé une instance de bob il ne fait pas une autre recherche

    mùoi j'aurai fais ca plutot
    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
     
    void recherche() 
    { 
         char recNom[50]; 
         int i, test = 0; 
         printf("entrez le nom a chercher :"); 
         scanf("%s",recNom); 
     
     
     
         for(i=0;i<nbclient;i++) 
         {
            if(strcmp(recNom,tabclient[i].NomClient)== 0) 
           { 
                 test = 1;
                 printf("Nom : %s, \n  Prenom : %s\n", tabclient[i].nomclient,tabclient[i].prenom);    
     
            } 
         }
     
        if (test == 0)
               printf("Pas de resultat, veuillez inserer des clients");
     
    }

  5. #5
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 116
    Par défaut
    nickel, merci hiko

+ Répondre à la discussion
Cette discussion est résolue.

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