Tell us what’s happening:
Hello !
I can’t find why i don’t pass this lab.
Task failed: 20, 21, 22.
I have checked for typo errors, but the returned message seems identical to the requested message.
Do you have any idea of what is not right here?
Your code so far
function getAverage(scoresArr){
let sum = 0;
for(let score of scoresArr){
sum += score;
}
return sum / scoresArr.length;
}
function getGrade(stdScore){
let grade;
if (stdScore < 60) {
grade = "F";
} else if (stdScore < 70) {
grade = "D";
} else if (stdScore < 80) {
grade = "C";
} else if (stdScore < 90) {
grade = "B";
} else if (stdScore < 100) {
grade = "A";
} else {
grade = "A+";
}
return grade;
}
function hasPassingGrade(stdScore){
let grade = getGrade(stdScore);
if("F" == grade){
return false;
}
return true;
}
function studentMsg(scoresArr, stdScore){
if(hasPassingGrade(stdScore)){
return `"Class average: ${getAverage(scoresArr)}. Your grade: ${getGrade(stdScore)}. You passed the course."`
} else {
return `"Class average: ${getAverage(scoresArr)}. Your grade: ${getGrade(stdScore)}. You failed the course."`
}
}
//studentMsg() console test
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));
console.log(studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100));
//Comparison between message requested in tasks and message returned by studentMsg
//"Class average: 71.7. Your grade: F. You failed the course."
//"Class average: 71.7. Your grade: F. You failed the course."
//"Class average: 50.8. Your grade: A+. You passed the course."
//"Class average: 50.8. Your grade: A+. You passed the course."
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Challenge Information:
Build a Gradebook App - Build a Gradebook App