Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Sorry, your code does not pass. Don’t give up.

Your studentMsg function should return the correct message based on the student’s score and the class average.
Why its showing this msg again and again as i tried every possibility

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 average = getAverage(totalScores);
  const grade = getGrade(studentScore);
  const passed = hasPassingGrade(studentScore); // Use hasPassingGrade to check if the student passed

  return `Class average: ${average.toFixed(1)}. Your grade: ${grade}. You ${passed ? 'passed' : '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/122.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Hi there!

Don’t round the average. You need to show the average as expected.

Hello,

You can try using if...else statements because you are going to show different text output results when the student passed or not. :smiley: