Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

someone please help me figure out the problem in my code at step 4 of review javascript fundamental by building a gradebook

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 (hasPassingGrade(getGrade())){
      return "Class average: " + getAverage(totalScores) + ". Your grade: " + getGrade() + "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) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

You called getGrade here but what does getGrade need (as input) to work?

Also, you called hasPassingGrade, but what does that function need to work?

Make sure you give the functions what they need.

please show me what to insert. im trying to use studentscore and it is not working still

Please show us what you did by copying all the code in your next reply. We are not allowed to share solutions, only hints.

function studentMsg(totalScores, studentScore){
if (hasPassingGrade(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));

here is the code

The hasPassingGrade function takes a number as an argument (i.e. score) rather than a grade, so you shouldn’t be passing the getGrade function as an argument to it.

There is also a discrepancy in the string which you’re returning if the student has a passing score. Compare the final part of the string with the string which you pass if the student fails.

1 Like