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