Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

The function studentMsg is correct by I don’t pass the test.
I calculate the average score of the class and also the grade of the student, with that and in a if statement I check to see if the student has passed the class then I return a string representing the message that tell if the student has passed the class.

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

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Welcome to the forum @migule

Check the text for the two scenarios.

Also, console log what the if condition is checking.

Happy coding

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.