Build a Gradebook App - Build a Gradebook App

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

what are you failing? what have you tried to debug?

The following task :
Tasks failed:
Failed:20. studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37) should return the following message: “Class average: 71.7. Your grade: F. You failed the course.”.

Failed:21. studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100) should return the following message: “Class average: 50.8. Your grade: A+. You passed the course.”.

Failed:22. Your studentMsg function should return the correct message based on the student’s score and the class average.

First I thought it was the messages returned that weren’t right, but I checked and they are identical to the messages in the task 20 and 21 when calling studentMsg() with the same parameters.

are you sure?
the quotes look suspicious imo

1 Like

oh … found it :sweat_smile: Well thanks! Sometimes you just need a hint.