ASDV-WebDev/Semester 1/Assignments/JavaScript/MP13_CalebFontenot/public_html/Problem5.html

67 lines
2.6 KiB
HTML

<!DOCTYPE html>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/html.html to edit this template
-->
<html>
<head>
<title>Problem 5</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<style>
table, th, td {
border: 1px solid;
}
</style>
<body>
<div id="tableDiv"></div>
</body>
<script>
function getAverage(gradeArray, testSet, numTests) {
let gradeAverage = 0;
for (let i = 0; i < gradeArray[testSet].length; ++i) {
gradeAverage += parseFloat(gradeArray[testSet][i]);
}
console.log(gradeAverage);
gradeAverage = gradeAverage / numTests;
console.log("Grade average: " + gradeAverage);
return gradeAverage;
}
// Get user input
var studentNameArray = [];
var gradeArray = [];
var numOfStudents = 0, numTests = 0;
numOfStudents = prompt("Enter the number of students to enter into the table.")
numTests = prompt("Enter the number of tests administered: ");
for (let i = 0, j = numOfStudents; i < numOfStudents; ++i, --j) {
var nameInput = prompt("Enter a student name. (" + j + " left).");
studentNameArray.push(nameInput);
let testArray = [];
for (let k = 0; k < numTests; ++k) {
let grade = prompt("Enter " + nameInput + "'s grade for test " + (k + 1) + ": ");
testArray.push(grade);
}
gradeArray.push(testArray);
}
console.log(studentNameArray, gradeArray);
let tableString = "<table>" + "<tr>" + " <th>Student Name</th>";
for (let i = 0; i < numTests; ++i) {
tableString += "<th>";
tableString += "Test " + (i + 1);
tableString += "</th>";
}
tableString += " <th>Grade Average</th>" + " </tr>";
for (let i = 0; i < studentNameArray.length; ++i) {
tableString += "<tr>" + "<td>" + studentNameArray[i] + "</td>";
for (let j = 0; j < numTests; ++j) {
tableString += "<td>" + gradeArray[i][j] + "</td>";
}
tableString += "<td>" + getAverage(gradeArray, i, numTests) + "</td>";
tableString += "</tr>";
}
document.getElementById("tableDiv").innerHTML = tableString;
</script>
</html>