Boucle infini
Résolu
Bonjour,
Je débute les études en informatique et j'essaye de faire des exercices javaScript pour m’entraîner
un des exercices étant de créer un programme gérant un tableau de contact (il y a déjà 2 contacts d’enregistré)
si l'utilisateur rentre 1 il rentre un contact
si il rentre 2 il consulte la liste des contacts de type "noms: <le nom> prénom <le prénom>"
et si il rentre 0 cela stoppe le programme
j'ai pour le moment fait ça
EDIT : Ajout des balises de code
le soucis étant que cela crée une boucle infini même si je rentre 0 comme valeur lors du prompt
donc voilà si vous avez une solution ou même une amélioration possible je suis preneur ^^
merci à vous !
Je débute les études en informatique et j'essaye de faire des exercices javaScript pour m’entraîner
un des exercices étant de créer un programme gérant un tableau de contact (il y a déjà 2 contacts d’enregistré)
si l'utilisateur rentre 1 il rentre un contact
si il rentre 2 il consulte la liste des contacts de type "noms: <le nom> prénom <le prénom>"
et si il rentre 0 cela stoppe le programme
j'ai pour le moment fait ça
let choix;
let contact=["Carole","Lévisse","Mélodie","Nelsonne"];
console.log("Bienvenue dans le gestionnaire de contact! \n 1 : ajouter un contact. \n 2 : afficher la liste de contact \n ° :quitter");
while(choix!==0){
choix=prompt("Que voulez vous faire?");
if(choix==1){
contact.push(prompt("indique le Prénom"));
contact.push(prompt("indiquer le Nom"));
}
if(choix==2){
for(let i=0;i<contact.length;i++){
if(i%2===0){
console.log("prénom: "+contact[i]);
}
else{
console.log("prénom: "+contact[i]);
}
}
}
}
console.log("au revoir");
EDIT : Ajout des balises de code
le soucis étant que cela crée une boucle infini même si je rentre 0 comme valeur lors du prompt
donc voilà si vous avez une solution ou même une amélioration possible je suis preneur ^^
merci à vous !
2 réponses
-
Bonjour,
Juste un détail: tu parles du choix "0" pour quitter mais dans ton code c'est le caractère "°" qui est utilisé dans le message d'accueil.
Perso, je ferais un "while(True)" et dans la boucle je rajouterais un "if (choix==0) {break}"
(ne connaissant pas la syntaxe javascript, je compte sur toi pour la trouver)
Ritchi -
ModérateurBonjour
ton code est presque bon... le souci c'est qu'un PROMPT retourne une STRING.
Hors.. vérifier avec === ou !== c'est pour la comparaison de valeur ET de type.
Donc soit tu mets tes valeurs entre guillemetswhile(choix!=="0"){
soit tu n'utilises qu'un seul = dans le !=while(choix!=0){
-
Ah oui c'est vraie du coups j'ai mis des guillemets et ça donne ça
let choix;
let contact=["Carole","Lévisse","Mélodie","Nelsonne"];
console.log("Bienvenue dans le gestionnaire de contact! \n 1 : ajouter un contact. \n 2 : afficher la liste de contact \n 0 :quitter");
while(true){
choix=prompt("Que voulez vous faire?");
if(choix=="1"){
contact.push(prompt("indique le Prénom"));
contact.push(prompt("indiquer le Nom"));
}
if(choix=="2"){
for(let i=0;i<contact.length;i++){
if(i%2===0){
console.log("prénom: "+contact[i]);
}
else{
console.log("prénom: "+contact[i]);
}
}
}
if(choix=="0"){
break;
}
}
console.log("au revoir");
-