Boucle while avec conditions

Novice -  
bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   -
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 !!!

5 réponses

bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   861
 
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wdessect
 
Il faut spécifier sur quel langage de programmation vous êtres entrain de travailler
0
bizu53 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   861
 
Ç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