Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

plzzz help me to find out what i have done wrong in this code

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) {
let average=getAverage(totalScores);
let grade=getGrade(studentScore);
let results=hasPassingGrade(grade);
if(results){
  return `Class average: ${average}. Your grade: ${grade}. 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/125.0.0.0 Safari/537.36 Edg/125.0.0.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

you have an extra space at the end of the line, be careful with spacing

thanks it solves my half problem but still facing the issue

the other issue is here, what does hasPassingGrade accepts as argument?

Soory but i am not understanding what’s happening ?

hasPassingGrade is giving the wrong value because you are passing to it the wrong thing, so studentMsg is returning the wrong thing

1 Like

thank you so much .It was really a great help for me