INT220
INT220
CODE:
<?php
class StudentGradeManager {
private $students = [];
public function addStudent($id, $name, $subjects) {
$this->students[$id] = [
'name' => $name,
'subjects' => $subjects,
'grades' => []
];
}
public function inputGrades($id, $grades) {
if (isset($this->students[$id])) {
$this->students[$id]['grades'] = $grades;
}
}
private function calculateGrades($id) {
if (isset($this->students[$id])) {
$grades = $this->students[$id]['grades'];
if (count($grades) > 0) {
$total = array_sum($grades);
$average = $total / count($grades);
return ['total' => $total, 'average' => $average];
}
}
return ['total' => 0, 'average' => 0];
}
private function determineGradeCategory($average) {
return match (true) {
$average >= 90 => 'A',
$average >= 80 => 'B',
$average >= 70 => 'C',
$average >= 60 => 'D',
default => 'F',
};
}
public function displayStudents() {
echo "<h2>Student Records</h2><table border='1' cellpadding='5'
cellspacing='0'>";
echo
"<tr><th>ID</th><th>Name</th><th>Subjects</th><th>Average</th
><th>Grade</th></tr>";
foreach ($this->students as $id => $student) {
$gradesInfo = $this->calculateGrades($id);
$average = $gradesInfo['average'];
$gradeCategory = $this->determineGradeCategory($average);
$subjectsList = implode(', ', $student['subjects']);
echo
"<tr><td>$id</td><td>{$student['name']}</td><td>$subjectsList</td
><td>$average</td><td>$gradeCategory</td></tr>";
}
echo "</table>";
}
}
$manager = new StudentGradeManager();
$manager->addStudent(1, 'Reorge Multan', ['Math', 'Science']);
$manager->addStudent(2, 'Paramesh Paul', ['History', 'English']);
$manager->addStudent(3, 'Anvesh Sharma',['English ', 'Math']);
$manager->addStudent(4,'Anand Mishra',['Hindi','Social']);
$manager->addStudent(5,'Tenali Ramakrishna',['Telugu','sanskrit']);
$manager->addStudent(6,'Pingali Venkayya',['Telugu','Social']);
$manager->inputGrades(3, [90,76]);
$manager->inputGrades(1, [85, 90]);
$manager->inputGrades(2, [75, 80]);
$manager->inputGrades(4,[67,89]);
$manager->inputGrades(5,[100,97]);
$manager->inputGrades(6,[92,91]);
$manager->displayStudents();
?>
OUTPUT: