Boucle WHILE

Résolu
Kyukuro Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Kyukuro Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et à toutes,
Mon objetctif:
Demander à un utilisateur le nombre de valeurs qu'ils souhaitent, puis lui les faire saisir et enfin lui proposer leur sommes.
Exemple :
---> Donnez moi le nombre de chiffre pour votre opération
--------- Mr X--> 3
---> Donnez le 1 chiffre :
--------- Mr X--> 8
---> Donnez le 2 chiffre :
--------- Mr X--> 7
---> Donnez le 3 chiffre :
--------- Mr X--> 45
---> Le résultat est 60

Mon code :
 function somme()  
{
var i=0;
var x=0;
var produit=0;
var n= window.prompt("Vous souhaitez faire une somme de combien de nombres ? (min:2)");

while (i < n); {
var x= window.prompt("Rentrer la valeur numéro "+i);
var produit = x + produit;
i++;
}

document.write("Le résultat est"+produit);
}
La fonction tourne en boucle lors de la seconde étape. Je demande donc votre aide pour résoudre ceci !

4 réponses

  1. Utilisateur anonyme
     
    salut,

    tu as mis :

    v == x + v; et c'est faux. Il faut mettre :

    v = x + v;

    ensuite second problème :

    Tes prompt pennent tes chiffres pour des chaines de caractères. Il faut utiliser :

    parseInt() pour les chiffres entier

    parseFloat() pour les virgules

    ton code corrigé :

    <script type="text/javascript">
    			function somme() {
    				i = 0;
    				x = 0;
    				v = 0;
    				n = window.prompt("Vous souhaitez faire une somme de combien de nombres ? (min:2)");
    
    				while (i < n) {
    
    					x = prompt("Rentrer la valeur numéro " + i);
    					v = parseInt(x) + v;
    					i++;
    				}
    
    				document.write("Le résultat est" + v);
    				
    			}
    			somme();
    		</script>
    

    ¸,ø¤º°'°º¤ø,¸¸,ø¤º° un (0n53!1 ? f0rm473... °º¤ø,¸¸,ø¤º°'°º¤ø,¸
    1
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Il ne faut pas mettre de point-virgule après un while, sinon ce que tu as entre accolade n'est plus du tout lié à la boucle.

    while (i < n)  {
    0
  3. Kyukuro Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
     function somme()  
    {
    i=0;
    x=0;
    v=0;
    n= window.prompt("Vous souhaitez faire une somme de combien de nombres ? (min:2)");

    while (i < n) {

    x= window.prompt("Rentrer la valeur numéro "+i);
    v == x + v;
    i++;
    }

    document.write("Le résultat est"+v);
    }

    Très bien merci, maintenant tout fonctionne sauf le résultat il m'indique 0 à chaque fois ! C'est à dire l'initialisatio de ma variable v :/
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Tu as fait un test
      v == x + v;
      alors qu'il aurait fallu faire une affectation
      v = x + v;
      !
      0
  4. Kyukuro Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci beaucoup ! D'une part tu m'explique au détails près toutes mes erreurs et je t'en remercie et en plus tu le corriges, tu m'a beaucoup apporté merci encore !
    0