2021-02-16 22:34:31 +00:00
|
|
|
using System;
|
2021-02-16 22:27:58 +00:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace GradeBook
|
|
|
|
{
|
2021-02-17 02:30:04 +00:00
|
|
|
public class Book
|
2021-02-16 22:27:58 +00:00
|
|
|
{
|
|
|
|
private List<double> grades;
|
2021-02-18 01:41:40 +00:00
|
|
|
public string Name;
|
2021-02-16 22:27:58 +00:00
|
|
|
|
|
|
|
public Book(string name)
|
|
|
|
{
|
2021-02-18 01:41:40 +00:00
|
|
|
Name = name;
|
2021-02-16 22:27:58 +00:00
|
|
|
grades = new List<double>();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void AddGrade(double grade)
|
|
|
|
{
|
|
|
|
this.grades.Add(grade);
|
|
|
|
}
|
2021-02-16 22:34:31 +00:00
|
|
|
|
2021-02-17 12:33:05 +00:00
|
|
|
public Statistics GetStatistics()
|
2021-02-16 22:34:31 +00:00
|
|
|
{
|
2021-02-17 12:33:05 +00:00
|
|
|
var result = new Statistics();
|
|
|
|
result.Average = 0.0;
|
|
|
|
result.highGrade = double.MinValue;
|
|
|
|
result.lowGrade = double.MaxValue;
|
2021-02-16 22:34:31 +00:00
|
|
|
|
2021-02-19 03:13:57 +00:00
|
|
|
// foreach (var grade in this.grades)
|
|
|
|
// {
|
|
|
|
// result.lowGrade = Math.Min(grade, result.lowGrade);
|
|
|
|
// result.highGrade = Math.Max(grade, result.highGrade);
|
|
|
|
// result.Average += grade;
|
|
|
|
// }
|
|
|
|
|
|
|
|
var index = 0;
|
|
|
|
do
|
2021-02-16 22:34:31 +00:00
|
|
|
{
|
2021-02-19 03:13:57 +00:00
|
|
|
result.lowGrade = Math.Min(grades[index], result.lowGrade);
|
|
|
|
result.highGrade = Math.Max(grades[index], result.highGrade);
|
|
|
|
result.Average += grades[index];
|
|
|
|
index += 1;
|
|
|
|
} while (index < grades.Count);
|
2021-02-16 22:34:31 +00:00
|
|
|
|
2021-02-17 12:33:05 +00:00
|
|
|
result.Average /= grades.Count;
|
|
|
|
return result;
|
2021-02-16 22:34:31 +00:00
|
|
|
}
|
2021-02-16 22:27:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|