Boucle while avec conditions

Novice -  
 Utilisateur anonyme -
Bonjour,
J'espère avoir de l'aide. Je suis novice en programmation et mon problème est le suivant.
Il ya une table qui contient la liste des étudiants et je dois extraire 2 noms spécifiques seulement.
Exemple: la liste d'étudiants contient:

Tessier Charles
Tremblay Nancy
Coucou Prenom1
UnNom Prenom
Coucou Prenom
Coucou Prenom2
Tremblay Jacques
etc...

Je dois sortir de ma liste les noms Tremblay et Coucou et ça doit donner:

Tremblay Nancy
Coucou Prenom1
Coucou Prenom
Coucou Prenom2
Tremblay Jacques

Pour le faire, je faisais 2 boucle while:
nom = premiernom
while (nom = Tremblay)
affichenom
LitnomSuivant

et une autre boucle while avec (nom = Coucou).

Je veux savoir comment faire pour faire une seule boucle while qui me retourne les occurences des 2 noms seulement dans ma liste?

C'est très urgent. merci mille fois !!!
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Utilisateur anonyme
     
    Tant que (pas fin de liste)
       Si le n-ième élément de la liste contient Tremblay ou Coucou
          Afficher i-ème élément de la liste
       Fin Si
       Passer au (n+1)ième élément de la liste
    Fin Tant que
    0
  2. DALEX
     
    Salut mec, quel est le langage de programmation ?

    ça c'est ton code d'origine (en gros)

    boucle while:
    nom = premiernom
    while (nom = Tremblay)
    affichenom
    LitnomSuivant

    et une autre boucle while avec (nom = Coucou).

    E C/C++ (j'espère que tu comprends ce langage),

    j'écrirairais

    int compteur = nombre_total_de_noms; //(crée un compteur qui va compter le nombre de noms de ta liste)

    while (compteur != 0) //Je boucle tant que le compteur ne vaut pas 0
    {

    if(nom == "Coucou" || nom == "Tremblay")
    {
    affichenom; //Si le nom = "Tremblay" ou "Coucou" alors je l'affiche
    }

    compteur--; //j'enlève 1 à compteur pour faire un compte à rebourd

    Litnomsuivant; //Je lis le nom suivant

    }

    }

    J'espère que ça t'aideras

    Cordialement

    DALEX
    0
  3. Novice
     
    Merci beaucoup pour vos réponses
    Je ne connais le nombre de fois donc je ne peux pas utiliser un compteur. Il faut que j'utilise une boucle while (condition) DO (je ne l'avais pas précisé dans mon premier message).

    Donc là j'ai essayé ton code Alex mais il me sort tous les noms compris entre les 2 valeurs + mes 2 valeurs aussi. Je ne veux pas les autres noms. snifff....

    Charge = ChercheNom(Coucou)
    while (Charge et que nom <= Tremblay ) DO
    Si Nom = Coucou Ou si nom = Tremblay
    AfficheNom
    Charge = ChercheNom(NomSuivant)

    ça me retourne Coucou, Nom1, Nom2, Nom3, etc..., et finit par Tremblay.
    A l'aide SVP !
    0
  4. DALEX
     
    Eyh Novice, tu n'as pas répondu à la question : quel est ton langage de prog ?

    deuxième question : ta liste est stockée en mémoire ou dans un fichier ?

    DALEX
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. wdessect
     
    Il faut spécifier sur quel langage de programmation vous êtres entrain de travailler
    0
    1. Utilisateur anonyme
       
      Ça change rien de savoir ou non quel langage de programmation il utilise (dans son cas) puisque ce qu'il demande est d'ordre algorithmique (et non propre à un langage particulier).
      0