Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

I do not know why I’m not passing please can you help me

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) {
let passFail
if(hasPassingGrade(studentScore)){
  passFail = "You passed the course."
} else {
  passFail = "You failed the course."
}
return "Class average: " + getAverage(totalScores) + ". You grade: " + getGrade( studentScore) + ". " + passFail ;}
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 100));

// User Editable Region


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

let’s do some debugging!

The first failed test is this:

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." .

So let’s add this to check:

console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));
console.log("Class average: 71.7. Your grade: F. You failed the course.");

It prints

Class average: 71.7. You grade: F. You failed the course.
Class average: 71.7. Your grade: F. You failed the course.

Do you see the difference?

Hi @Nicolene,

there should be two return statements, one inside the if statement and one for the else statement. also, remove the return statement outside the if..else statement block.

you won’t need to declare a passFail variable, you can concatenate it already from the return statements inside those if and else statements.

there is no prescribed way in which the function has to be coded, there are infinite correct ways to code this function as long as it gives the correct result

thank you so much I really appreciate it *