Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

i need help, it seems that my code is not working…

Your code so far


// User Editable Region

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";
}

function studentMsg(totalScores, studentScore) {
  // Calculate the class average
  const classAverage = getAverage(totalScores);

  // Get the student's grade
  const studentGrade = getGrade(studentScore);

  // Determine if the student passed
  const passed = hasPassingGrade(studentScore);

  // Construct the appropriate message
  if (passed) {
    return `Class average: ${classAverage.toFixed(1)}. Your grade: ${studentGrade}. You passed the course.`;
  } else {
    return `Class average: ${classAverage.toFixed(1)}. Your grade: ${studentGrade}. You failed the course.`;
  }
}

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

console.log(studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100)); 
// Output: "Class average: 50.8. Your grade: A++. You passed the course."

// 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/136.0.0.0 Safari/537.36 Edg/136.0.0.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

What about your code isn’t working? What have you tried to figure out why it isn’t working?

Hi @QMS85,

Good job on your code! The instructions did not ask for average to be displayed with only one decimal point. Fix that and you should be good to go!

It is a good idea to let the person have a chance to talk about how they are stuck instead of just telling them the fix, imho