malvo
July 3, 2024, 1:18pm
1
Tell us what’s happening:
I don’t know why my code won’t pass can somebody please help?
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) {
const average = getAverage(totalScores);
const grade = getGrade(studentScore);
if (grade !== "F") {
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/126.0.0.0 Safari/537.36
Challenge Information:
Review JavaScript Fundamentals by Building a Gradebook App - Step 4
malvo:
You failed the course";
Should there be a period at the end here?
Also try using hasPassingGrdae function instead of explicitly checking for F in the if statement
Also check the spacing here. Confirm if the string should have a space or not. Try logging the string to check.
malvo
July 3, 2024, 1:42pm
4
I’m lost, what? I’ve tried using a function in an if statement and it didn’t work? can you give me an example?
I’m not sure why you’re lost? You need to fix the spacing and punctuation in your strings. They should match exactly.
As for how to call a function inside an if, well it is simply like so:
if callThisFunction() { }
malvo
July 3, 2024, 2:31pm
6
There… still nothing now I don’t know what else to do?
function studentMsg(totalScores, studentScore) {
const average = getAverage(totalScores);
const grade = getGrade(studentScore);
let score;
if (hasPassingGrade(score)) {
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));
malvo
July 3, 2024, 2:54pm
7
Everything seemed okay then this message appeared:
Your function call of studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100)
should return the following message: "Class average: 50.8. Your grade: A++. You passed the course."
This is my code so far:
function studentMsg(totalScores, studentScore) {
const average = getAverage(totalScores);
const grade = getGrade(studentScore);
let score;
if (hasPassingGrade(score)) {
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));
I’m lost and confused.
You need to stop using the score variable as it is empty. Instead use the studentScore which was given to you in the function.
malvo
July 3, 2024, 3:45pm
9
Thank You @hbar1st very much.
1 Like
system
Closed
January 2, 2025, 3:46am
10
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.