Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

I need help
As of now my code is return precisely what it should yet the code wont pass does anyone know whats going on

Your code so far

function getAverage(scores) {
  let sum = 0;

  for (const score of scores) {
    sum += score;
  }

  return sum / scores.length;
}

function getGrade(score) {
  if (score === 100) {
    return "A++";
  } else if (score >= 90) {
    return "A";
  } else if (score >= 80) {
    return "B";
  } else if (score >= 70) {
    return "C";
  } else if (score >= 60) {
    return "D";
  } else {
    return "F";
  }
}

function hasPassingGrade(score) {
  return getGrade(score) !== "F";
}


// User Editable Region

function studentMsg(totalScores, studentScore) {
   if(hasPassingGrade === true){
   return "Class average: " + getAverage(totalScores) + ". Your Grade: " + getGrade(studentScore) + ". You passed the course."
     } else{
       return "Class average: " + getAverage(totalScores) + ". Your Grade: " + getGrade(studentScore) + ". You failed the course."
     }
}
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));

// User Editable Region


Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Try replacing your console.log statements with these ones, for comparison:

// actual output
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));
// expected output
console.log("Class average: 71.7. Your grade: F. You failed the course.")
// actual output
console.log(studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100));
// expected output
console.log("Class average: 50.8. Your grade: A++. You passed the course.")

You should spot one difference in capitalisation.
Also, your hasPassingGrade function is not returning the correct value because it is function which needs to be called with an argument (i.e. to determine if the student has a passing grade, you need to feed their score to the function).

1 Like

That worked ! Thank you

1 Like