Boucle while avec conditions

Fermé
Novice - 30 oct. 2008 à 17:16
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 31 oct. 2008 à 13:53
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 samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
30 oct. 2008 à 17:20
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
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
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
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
Il faut spécifier sur quel langage de programmation vous êtres entrain de travailler
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
31 oct. 2008 à 13:53
Ç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