Tell us what’s happening:
it keeps saying the hasPassingGrade function should return a false and it does return a false. the studentMsg also logs the correct message. I cant tell what the problem is.
Your code so far
function getAverage (n) {
//let [a, b, c, d, e, f, g, h, i ,j] = n
let sumScore = n.reduce((acc, num) => acc + num, 0);
let averageScore = sumScore / n.length;
return averageScore;
}
console.log(getAverage([92, 88, 12, 77, 57, 100, 67, 38, 97, 89]));
console.log(getAverage([45, 87, 98, 100, 86, 94, 67, 88, 94, 95]));
console.log(getAverage([38, 99, 87, 100, 100, 100, 100, 100, 100, 100]));
function getGrade (n) {
if (n === 100) {
return "A+";
}
else if (n >= 90) {
return "A";
}
else if (n >= 80) {
return "B";
}
else if (n >= 70) {
return "C";
}
else if (n >= 60) {
return "D";
}
else if (n >= 0) {
return "F";
}
else {
return "Invalid Entry."
}
};
function hasPassingGrade (grade) {
return grade !== "F";
};
console.log(hasPassingGrade("A"));
console.log(hasPassingGrade("F"));
console.log(hasPassingGrade("A+"));
console.log(hasPassingGrade("B"));
console.log(hasPassingGrade("C"));
console.log(hasPassingGrade("D"));
console.log(getGrade(30));
function studentMsg(scores, yourScore) {
let classAvg = getAverage(scores).toFixed(1); // One decimal place
let yourGrade = getGrade(yourScore);
let passMessage = hasPassingGrade(yourGrade) ? "You passed the course." : "You failed the course.";
return `Class average: ${classAvg}. Your grade: ${yourGrade}. ${passMessage}`;
}
// Test case
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));
console.log(studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100));
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Challenge Information:
Build a Gradebook App - Build a Gradebook App