Hi! i state that my english level is pretty low. so sorry for this.
well, i’m stuck with the check instruction. my code that you can read below i think is correct, and it’s work, but it isn’t accept by the control step. i’m asking why.
thank you all
const finalGrade= (n1, n2, n3) => {
const av= (n1+n2+n3)/3
if (av>=0 && av<=59)
return 'F';
else if (av>=60 && av<=69)
return 'D';
else if (av>=70 && av<=79)
return 'C';
else if (av>=80 && av<=89)
return 'B';
else if (av>=90 && av<=100)
return 'A';
else if ((n1<0 || n1>100) || (n2<0 || n2>100) || (n3<0 || n3>100))
return 'You have entered an invalid grade';
};
That needs to be checked at the top so you know you have valid data going forward. It should either kick out of the function (return) or let JS throw an error.
Analogy: If you were going to build a house, would you prefer to test the integrity of your building materials before you started, or after you had finished building?
If one or more of the inputs is invalid, there is no need to continue.
I stuck a bit with my function though.
It prints perfectly the grades, but it does not print if an invalid number has been entered.
Not sure though what I’m doin wrong and why.
I’m looking forward to some advise
const finalGrade = (n1, n2, n3) => {
var average = ((n1 + n2 + n3) / 3);
if ((n1 < 0 || n1 > 100), (n2 < 0 || n2 > 100), (n3 < 0 || n3 > 100)) {
return “You have entered an invalid grade.”
} else if (average >= 0 && average < 60) {
return “F”
} else if (average > 59 && average < 70) {
return “D”
} else if (average > 69 && average < 80) {
return “C”
} else if (average > 79 && average < 90) {
return “B”
} else if (average > 89 && average < 101) {
return “A”
};
}