简体   繁体   中英

Javascript Calculator JS - Switch Case

I don't understand why the case is not working

var a, b;

a = 0;
b = 0


function Calculatrice(a, b, op) {

  switch (op) {

    alert("Choisissez votre opérateur: ");

    case '+':
      return a + b
      break;
    case '-':
      return a - b
      break;
    case '*':
      return a * b
      break;
    case '/':
      return a / b
      break;

      alert("Voici la valeur finale:");
  }

}

Calculatrice(5, 5, +);

I have reviewed your code and these are the changes done to your code for proper result : 1. Your switch statement had dangling alerts in between, which were not required. 2. I removed your global variables a,b because that is not required in the current function scope. 3. You should pass the operation as string , as that is what is expected in the switch statement.

Here is your working code.

 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b break; case '-': return a - b break; case '*': return a * b break; case '/': return a / b break; } } console.log(Calculatrice(5, 5, '+'));

 var a, b; a = 0; b = 0 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b case '-': return a - b case '*': return a * b case '/': return a / b default: return "invalid arguments" } } var result = Calculatrice(5, 5, '+'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '-'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '*'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '/'); console.log("Voici la valeur finale: ", result); var result = Calculatrice(5, 5, '%'); console.log("Voici la valeur finale: ", result);

  1. Remove alert of body of switch

  2. use of '+' instead of + , when call Calculatrice function.

If you want to get the operator from the user,use prompt() like this:

 function Calculatrice(a, b, op) { switch (op) { case '+': return a + b break; case '-': return a - b break; case '*': return a * b break; case '/': return a / b break; } } op = prompt('Choisissez votre opérateur [ + - / * ] :'); var operators = ['+','-','/','*']; if ( operators.indexOf(op) !== -1 ) alert('Voici la valeur finale: ' + Calculatrice(5, 5, op) ) ; else alert("L'opérateur est mal!");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM