IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Boucle IF / ELSE IF / ELSE + Calculatrice


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Femme Profil pro
    chommage
    Inscrit en
    Juillet 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : chommage
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Juillet 2018
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Boucle IF / ELSE IF / ELSE + Calculatrice
    Bonjour !

    Je débute dans le JS & j'ai un souci avec mon code de calcul.

    J'ai utilisé la boucle IF / ELSE IF / ELSE, je sais que le code serait plus lisible s'il était en SWITCH / CASE / BREAK / DEFAULT & c'est justement l'étape suivante, après avoir réussi avec if/else if & else

    Lorsque je divise par 0 cela m'affiche infinity, il me semble que c'est normal vu qu'il n'est pas possible de diviser par 0 mais je souhaite juste indiquer en document.write("Erreur") mais ça m'indique: Infinity Erreur.

    Donc comment faire pour que le calcul ne se face pas & qu'il m'affiche uniquement "Erreur" ?

    Je pense donc qu'il y a une erreur dans mon code :-°

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    var nombreUn = parseFloat(prompt("Saisit le 1er nombre"));
    var nombreDeux = parseFloat(prompt("Saisit le 2eme nombre"));
    var operateur = prompt("Saisit un operateur");
    var result;
     
    if (isNaN(nombreUn) || isNaN(nombreDeux)) 
        {
        document.write("<p>Se n'est pas un nombre</p>");
        }
        else if ((operateur == "+") || (operateur == "addition")) {
            result = nombreUn + nombreDeux;
            document.write(result);
        }
        else if ((operateur == "-") || (operateur == "soustraction")) {
            result = nombreUn - nombreDeux;
            document.write(result);
        }
        else if ((operateur == "*") || (operateur == "multiplication")) {
            result = nombreUn * nombreDeux;
            document.write(result);
        }
        else if ((operateur == "/") || (operateur == "division")){
            result = nombreUn / nombreDeux;
            document.write(result);
            if (nombreDeux == "0"){
                document.write(" Erreur");
            }
        }
        else if ((operateur == "^") || (operateur == "puissance")){
            result = nombreUn ** nombreDeux;
            document.write(result);
        }
     
     
     
    if ((operateur != "+") && (operateur != "-") && (operateur != "*") && (operateur != "/") && (operateur != "^") && (operateur != "addition") && (operateur != "soustraction") && (operateur != "multiplication") && (operateur != "division") && (operateur != "puissance")) {
        document.write("<p>Se n'est pas un operateur</p>");
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    calculatrice javascript / HTML :

    • https://codepen.io/jreaux62/pen/zLrNxx
      Elle nécessite des connaissances un peu plus poussées en JavaScript (querySelectorAll, addEventListener,...)
      Là encore, quelques bugs à résoudre...


    N.B. Et corrige tes fautes d'orthographe / grammaire...
    Dernière modification par Invité ; 27/02/2020 à 16h00.

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 388
    Points : 578
    Points
    578
    Par défaut
    Bonjour,

    Je crois avoir compris qu'il faut intervertir quelques lignes de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    else if ((operateur == "/") || (operateur == "division")) {
       if (nombreDeux == "0"){
           document.write(" Erreur");
       }
       else {
           result = nombreUn / nombreDeux;
           document.write(result);
        }
    }
    Une remarque : En principe, document.write() est obsolète...

    Sinon, une autre calculatrice : http://progmath.free.fr/applications/calculatrice.html

Discussions similaires

  1. Problème avec if .. else if.. else dans une fonction
    Par marwa21 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/04/2011, 10h37
  2. Problème avec mon if, else if, else
    Par beegees dans le forum ASP
    Réponses: 5
    Dernier message: 16/05/2008, 22h32
  3. Les tests conditionnels - If - Else if - Else
    Par stomerfull dans le forum Langage
    Réponses: 6
    Dernier message: 08/05/2008, 12h12
  4. strucute if(){} else if(){} else
    Par debutantasp dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/03/2008, 12h36
  5. refactoring de plusieurs if-else-if-else .
    Par elekis dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2007, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo