Je ne peux pas progresser dans le programme lors de la saisie d'un nom, je dois saisir "Q". Quelqu'un peut-il me dire ce que je fais mal?
empName = prompt("Enter employee's name or Q to quit: "); while (empName != "Q") { empTot = 0; for (var i = 0; / i < 5; i++) { prompt("Enter the amount of day " + (i + 1) + ": "); } document.write(empName + ": total is " + empTot);
Le programme complet est ici: https://repl.it/@IAdams6748/Frozen-Rainbow-Emp#script.js
3 Réponses :
vous avez un "/" en vous pour.
essayer
for (var i = 0; i < 5; i++)
Vous devriez éviter d'utiliser une boucle while, sauf si vous savez ce que vous faites, à cause de la possibilité de créer une boucle infinie.
À la place, utilisez une instruction if pour vérifier si l'entrée était un "Q". Par souci de convivialité, j'ai fait la possibilité de quitter la casse insensible.
Vous avez eu une faute de frappe dans votre boucle for, en ayant /
dedans, et vous n'avez jamais ajouté empTot avec la réponse de l'invite. J'ai enveloppé l'invite dans un parseInt et ajouté une valeur par défaut en ajoutant || 0
à la fin.
Vous n'avez également jamais déclaré de nouvelles variables avec var
. Vous devriez toujours le faire lorsque vous déclarez des variables, sinon certains navigateurs ne comprendront pas d'où vient la variable.
var empName = prompt("Enter employee's name or Q to quit: "); if (empName && empName.toLowerCase() != "q") { var empTot = 0; for (var i = 0; i < 5; i++) { empTot += parseInt(prompt("Enter the amount of day " + (i + 1) + ": ")) ||Â 0; } document.write(empName + ": total is " + empTot); }
Pour cette tâche, je dois utiliser l'instruction while. Je dois convertir le pseudocode en Javascript. Je ne sais pas pourquoi je dois entrer "Q" pour progresser dans le programme. Il n'acceptera rien d'autre.
Donc, la tâche est "demander le nombre de jours au plus cinq fois ou jusqu'à ce que l'utilisateur tape" q "?
Vous manquez} pour votre boucle while
Apprenez à formater votre code afin d'obtenir de l'aide plus rapidement ici sur Stack Overflow