Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Hi, can someone tell me what is wrong with my code? It won’t pass and I cannot figure out where I went wrong

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(score)) {
    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));

// 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/134.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

When you code is not passing the tests, you should always check the console first.

When I paste your code, this shows up in the console for me

Variables need to be defined before you can use them.

You need to fix this here

Once you fix that, then you will find other errors. Check the console again.

I would suggest replacing your existing console.log with these two so you can compare the correct result with our incorrect one.

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

Once you fix those issues, then it will pass.

This was already defined in the previous code in step 3, so I don’t understand how else I am supposed to define it

the “score” parameter is only defined within the scope of the hasPassingGrade() function, not in the studentMsg() function.

I would suggest reviewing these videos here which will help you better understand how functions, scope and parameters work

I am still not able to get it to pass. I re-wrote my code a few times now and I am confident that my code is fine but somehow it won’t pass.

I figured it out nvm