Write a function that returns true if the student has a higher average grade than another student given as a parameter.
here my code
class Student {
var id: Int = 0
var firstName: String = ""
var lastName: String = ""
init(id: Int,firstName: String,lastName: String){
self.id = id
self.firstName = firstName
self.lastName = lastName
}
func fullName() -> String {
return "\(firstName) \(lastName)"
}
var grades: [Float] = []
func addGrade(_ input: Float) {
grades.append(input)
}
func numberOfGrades() -> Int {
return grades.count
}
func average(numbers: Int...) -> Float {
assert(grades.count > 0)
return Float(grades.reduce(0, {$0 + Double($1)})/Double(grades.count))
}
func hasHigherAverageThan() -> Bool {
if lois.hasHigherAverageThan(peter){
print("\(lois.firstName) beats \(peter.firstName)")
}
}
}
let peter = Student(id: 5, firstName: "Peter", lastName: "Parker")
peter.addGrade(2.95)
peter.addGrade(3.45)
let lois = Student(id: 6, firstName: "Lois", lastName: "Lane")
lois.addGrade(4.0)
lois.addGrade(3.2)
How to write code correctly
i want output:Prints "Lois beats Peter"