Boucle while avec conditions

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. 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
    1. 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
      1. 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
        1. 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
          1. Il faut spécifier sur quel langage de programmation vous êtres entrain de travailler
            0
            1. Ç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