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 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, +);
Share
Improve this question
edited Oct 10, 2018 at 11:07
user5734311
asked Oct 10, 2018 at 11:06
ClémentClément
331 silver badge7 bronze badges
2
-
3
try with this
Calculatrice(5,5,'+');
– Arun Kumar Commented Oct 10, 2018 at 11:06 -
1
You should always check your browser console for error messages. You can't run mands like
alert()
inside a switch block. And you're checking for'+'
, not+
(which is invalid on its own). – user5734311 Commented Oct 10, 2018 at 11:09
3 Answers
Reset to default 2I 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, '+'));
Remove
alert
of body ofswitch
use of
'+'
instead of+
, when callCalculatrice
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!");
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);