-2
votes

Boucle infinie? Aucune suggestion?

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 :


1
votes

vous avez un "/" en vous pour.

essayer

for (var i = 0; i < 5; i++)


0 commentaires

1
votes

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);
}


2 commentaires

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 "?



1
votes

Vous manquez} pour votre boucle while


0 commentaires