Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Necesito ayuda con este ejercicio porfavor, que no me resulta, siempre me arroja este resultado Class Average: 71.7. Your grade: F. You failed the course.

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(getAverage(totalScores) >= getGrade(studentScore)){
    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; rv:128.0) Gecko/20100101 Firefox/128.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Hi @fakasir

Because of the if condition you are using, the else statement will always execute.

getAverage is a number, getGrade is a letter.

Happy coding

He resuelto el problema pero aun no entiendo porque el resultado es Class average: 71.7. Your grade: F. You failed the course. Es por el ultimo numero que aparece despues del arreglo que vendria siendo la nota del estudiante?

The if condition will always evaluate to false as number is never going to be greater than or equal to letter.

Happy coding