Build a Gradebook App - Build a Gradebook App

Tell us what’s happening:

Why the last function returns the correct values and also returns undefined?

Your code so far

//let gradeScores = [92, 88, 12, 77, 57, 100, 67, 38, 97, 89];

function getAverage(gradeScores1) {
  let i = 0;
  let summ = 0;
  let tScLen = gradeScores1.length;
  while (i < tScLen) {
    summ = summ + gradeScores1[i++];
  }
  return summ / tScLen;
}

//let classAverage = getAverage(gradeScores);
//console.log(classAverage)


function getGrade(studentScore1) {
  let letterGrade = "";
  if (studentScore1 == 100) {
    letterGrade = "A+";
  } else if (studentScore1 <= 99 && studentScore1 >= 90) {
    letterGrade = "A";
  } else if (studentScore1 <= 89 && studentScore1 >= 80) {
    letterGrade = "B";
  } else if (studentScore1 <= 79 && studentScore1 >= 70) {
    letterGrade = "C";
  } else if (studentScore1 <= 69 && studentScore1 >= 60) {
    letterGrade = "D";
  } else {
    letterGrade = "F";
  };
  return letterGrade;
}


//let studentScore = 79;
//let studentGrade = getGrade(studentScore);
//console.log(studentGrade);

function hasPassingGrade(studentScore1) {
  let boolean;
  if (studentScore1 > 59) {
    boolean = true;
  } else {
    boolean = false;
  };
  return boolean;
};

//let studentAprooved = hasPassingGrade(studentScore);
//console.log(studentAprooved);


function studentMsg(gradeScores, studentScore) {
  let classAverage = getAverage(gradeScores);
  let studentGrade = getGrade(studentScore);
  let studentAprooved = hasPassingGrade(studentScore);
  let msg = "";
  if (studentAprooved == true) {
    msg = console.log(`Class average: ${classAverage}. Your grade: ${studentGrade}. You passed the course.`);
  } else {
    msg = console.log(`Class average: ${classAverage}. Your grade: ${studentGrade}. You failed the course.`);
  };
  return msg;
};

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

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0

Challenge Information:

Build a Gradebook App - Build a Gradebook App

your function returns undefined, the values you see in the console are from the console.log inside the function

1 Like

Thanks for the clarification. That led me to check, and I realized that my mistake was using “console.log” in the last if/else statement.