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