Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Can someone please help with this question. I am abit lost. Any tips would be appreciated

Thanks
Iskren

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(717, 37) {
  return getAverage(717);
  return getGrade(37);
  return studentMSg(); "Class Average: getAverage(); "Your" + "grade: getGrade(); "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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

For your studentMsg function you should pass totalScores and studentScore parameters. Then for getAverage you should pass totalScores and for getGrade you should pass studentScore as parameters. Then comparing class average and student’s grade you should create your message and return that message. Please read the challenge instructions again to create that message. Hope this helps, you can ask if you need further help!

I did pass those as parameters , can you explain abit more and easier please

You should do like studentMsg(totalScores, studentScore) then inside the function you should use return keyword just for once. You can create average variable and assign getAverage(totalScores) to find the class average. Same with getGrade(studentScore) and you can assign it to studentGrade or grade. Then you need to check if this grade is equal to "F" or not. F means student failed. In the explanation of the challenge you have 2 different messages, if the students fails or not. You need to create the message accordingly.

Like this:

const average=getAverage(717);
const grade=getGrade(37);
const studentMsg1=“Class average: getAverage(); Your grade:getGrade(); You passed the course”;
const studentMsg2=“Class average: getAverage(); Your grade:getGrade(); You failed the course”;

function studentMsg(totalScores, studentScore) {
if (grade===“F”){
return studentMsg();
} else {
return studentMsg();
}

console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));