Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

I don’t know why my code does not pass
function studentMsg(totalScores, studentScore) {
let msg;
if (hasPassingGrade(studentScore)) {
msg = “You passed the course.”;
} else {
msg = “You failed the course.”;
}
return “Class average:” + getAverage(totalScores) + “.” + “Your grade:” + getGrade(studentScore) + “.” + msg;
}
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));

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 msg;
if (hasPassingGrade(studentScore)) {
  msg = "You passed the course.";
} else {
  msg = "You failed the course.";
}
return "Class average:" + getAverage(totalScores) + "." + "Your grade:" + getGrade(studentScore) + "." + msg;
}
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/109.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

You just have some issues with the formatting of the string which you are returning.
Try putting this below your other console.log(), so you can see where you’re not matching the requirements:

// expected output
console.log("Class average: 71.7. Your grade: F. You failed the course.")

i tried but i still can’t get it

What does the output of the two console.log() statements show? Do they match exactly?

With the code you originally posted (and the additional console.log()) , you should see this in your console:
Untitled

… so you need to change the spacing in your return string, until both console.log() statements match exactly.

1 Like