⭐ BONUS EXERCISE

EXERCISE 7: Grade Calculator - Solution Code

← Back to Assignment

Solution Files

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bonus Exercise 7 - Grade Calculator</title>
</head>
<body>
    <h1>Bonus Exercise 7: Grade Calculator</h1>

    <script src="script.js"></script>
</body>
</html>
script.js
// Create arrays for students and grades
const students = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve'];
const grades = [95, 78, 82, 65, 88];

// Function to get letter grade
function getLetterGrade(numericGrade) {
    if (numericGrade >= 90) {
        return 'A';
    } else if (numericGrade >= 80) {
        return 'B';
    } else if (numericGrade >= 70) {
        return 'C';
    } else if (numericGrade >= 60) {
        return 'D';
    } else {
        return 'F';
    }
}

// Function to calculate class average
function calculateClassAverage(gradesArray) {
    let total = 0;
    for (let i = 0; i < gradesArray.length; i++) {
        total += gradesArray[i];
    }
    return total / gradesArray.length;
}

// Display each student's information
document.write("<h2>Student Grades:</h2><ul>");
for (let i = 0; i < students.length; i++) {
    const letterGrade = getLetterGrade(grades[i]);
    document.write(`<li>${students[i]}: ${grades[i]}% (${letterGrade})</li>`);
}
document.write("</ul>");

// Display class average
const classAverage = calculateClassAverage(grades);
document.write(`<p><strong>Class Average: ${classAverage.toFixed(2)}%</strong></p>`);

// Filter students who passed (grade >= 60)
const passingStudents = [];
const passingGrades = [];
for (let i = 0; i < grades.length; i++) {
    if (grades[i] >= 60) {
        passingStudents.push(students[i]);
        passingGrades.push(grades[i]);
    }
}

document.write("<h2>Passing Students (Grade >= 60):</h2><ul>");
passingStudents.forEach((student, index) => {
    document.write(`<li>${student}: ${passingGrades[index]}%</li>`);
});
document.write("</ul>");