Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

this is code
if(hasPassingGrade(studentScore)){
return “Class average: " +getAverage(totalScores)+” .“+” Your grade:“+ getGrade(studentScore) +”. You passed the course."}

else{ “Class average: " +getAverage(totalScores)+” .“+” Your grade:“+ getGrade(studentScore) +”. You failed the course."}
}
this is an error:
Your function call of studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37) should return the following message: “Class average: 71.7. Your grade: F. You failed the course.”.

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) {
  let getavg = getAverage(totalScores);
  let grade = getGrade(studentScore)
  
  if(hasPassingGrade(studentScore)){
  return  "Class average: " +getAverage(totalScores)+" ."+" Your grade:"+ getGrade(studentScore) +". You passed the course."}
  
  else{ "Class average: " +getAverage(totalScores)+" ."+" Your grade:"+  getGrade(studentScore) +". 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/124.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

The above declaration and assignment is unnecessary.

You need correct spacing and punctuation for both return strings.and also you have missing return before you else statement string.

if(hasPassingGrade(studentScore)){
    console.log(grade)
  return "Class average: "+ getAverage(totalScores) +"."+" Your grade:"+ getGrade(studentScore)+".You passed the course."}
  
  else{return "Class average: "+ getAverage(totalScores) +"."+"Your grade:"+ getGrade(studentScore) +".You failed the course."}
}

but still error

I’ve edited your code for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (').

To debug your code, try reading it line by line.

As you read, check that the code makes sense. Try to use log statements to check your understanding.

Also remember that after return runs, no other code will run.

Example

Some text: " + requiredvalue + "

And remove unnecessary "+" before Your grade:"[quote=“hasanzaib1389, post:6, topic:690828, full:true”]

Example

Some text: " + requiredvalue + "

And remove unnecessary "+" before Your grade:"

but i can see the message in console .he looks good .
but still error help me what 's the wrong

Post your console msg here.

if(hasPassingGrade(studentScore)){
return “Class average:” + getAverage(totalScores) + “.Your grade:” + getGrade(studentScore) +“.You passed the course.”}

else{return “Class average:” + getAverage(totalScores) + “.Your grade:” + getGrade(studentScore) + “.You failed the course.”}
}
console:
Class average:71.7.Your grade:F.You failed the course.

Class average: 71.7. Your grade: F. You failed the course.

Second one is the right console output

done thank you i was stack .

Your welcome. Keep coding.

1 Like