import Foundation
// Define a class for Student
class Student {
let name: String
var grades: [Int]
init(name: String, grades: [Int]) {
self.name = name
self.grades = grades
}
func averageGrade() -> Double {
let total = grades.reduce(0, +) // Sum all grades
return grades.isEmpty ? 0.0 : Double(total) / Double(grades.count)
}
}
// Define a class for Classroom
class Classroom {
let className: String
var students: [Student]
// Initializer
init(className: String, students: [Student] = []) {
self.className = className
self.students = students
}
// Function to add a student
func addStudent(_ student: Student) {
students.append(student)
}
// Function to display average grades of all students
func displayAverageGrades() {
print("Classroom: \(className)")
students.forEach { student in
let average = student.averageGrade()
print("\(student.name)'s average grade: \(average)")
}
}
}
// Usage
let student1 = Student(name: "Alice", grades: [90, 85, 88])
let student2 = Student(name: "Bob", grades: [78, 82, 80])
let student3 = Student(name: "Charlie", grades: [95, 92, 89])
let classroom = Classroom(className: "Math 101")
classroom.addStudent(student1)
classroom.addStudent(student2)
classroom.addStudent(student3)
// Display average grades for all students
classroom.displayAverageGrades()