darighteous1

swift-calculate-average-scores

Dec 3rd, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.53 KB | None | 0 0
  1. struct Student {
  2.     let name: String
  3.     let facultyNumber: Int
  4.     let age: Int
  5.     let grade1: Double
  6.     let grade2: Double
  7.     let grade3: Double
  8.     var average: Double
  9.     func calculateAverageGrade() -> Double     {
  10.         return (grade1 + grade2 + grade3) / 3    
  11.     }
  12. }
  13.  
  14.  
  15. var students = [Student]()
  16.  
  17.  
  18. students.append(Student(
  19.     name: "Toni",
  20.     facultyNumber: 10001,
  21.     age: 21,
  22.     grade1: 6.00,
  23.     grade2: 6.00,
  24.     grade3: 6.00,
  25.     average: 0
  26. ))
  27.  
  28.  
  29. students.append(Student(
  30.     name: "Ivo",
  31.     facultyNumber: 10002,
  32.     age: 21,
  33.     grade1: 6.00,
  34.     grade2: 5.50,
  35.     grade3: 5.75,
  36.     average: 0
  37. ))
  38.  
  39.  
  40. students.append(Student(
  41.     name: "Jitko",
  42.     facultyNumber: 10003,
  43.     age: 41,
  44.     grade1: 2.75,
  45.     grade2: 3.25,
  46.     grade3: 2.00,
  47.     average: 0
  48. ))
  49.  
  50.  
  51. students.append(Student(
  52.     name: "Gosho",
  53.     facultyNumber: 10004,
  54.     age: 38,
  55.     grade1: 2.00,
  56.     grade2: 3.00,
  57.     grade3: 4.00,
  58.     average: 0
  59. ))
  60.  
  61.  
  62.  
  63.  
  64. students.append(Student(
  65.     name: "Mumut",
  66.     facultyNumber: 10005,
  67.     age: 121,
  68.     grade1: 2.00,
  69.     grade2: 2.50,
  70.     grade3: 3.00,
  71.     average: 0
  72. ))
  73.  
  74.  
  75. var averages = [Double]()
  76. var highest = 0.0
  77. var bestStudent = ""
  78.  
  79.  
  80. for var student in students {
  81.     let average = student.calculateAverageGrade()
  82.     averages.append(average)
  83.    
  84.     if (average > highest) {
  85.         highest = average
  86.         bestStudent = student.name
  87.     }
  88.     student.average = average
  89. }
  90.  
  91.  
  92. let max = averages.max()
  93. print("Name: \(bestStudent) Average: \(max)")
Add Comment
Please, Sign In to add comment