public override GradeStatistics ComputeStatistics() { GradeStatistics stats = new GradeStatistics(); float sum = 0; foreach (float grade in grades) { stats.HighestGrade = Math.Max(grade, stats.HighestGrade); stats.LowestGrade = Math.Min(grade, stats.LowestGrade); sum += grade; } stats.AverageGrade = sum / grades.Count; return(stats); }
static void Main(string[] args) { IGradeTracker book = CreateGradeBook(); GetBookName(book); WriteResults(book); using (StreamWriter outputfile = File.CreateText("grades.txt")) { book.WriteGrades(outputfile); } GradeStatistics stats = book.ComputeStatistics(); Console.WriteLine(book.Name); WriteResult("Highest,", stats.HighestGrade); WriteResult("Lowest,", stats.LowestGrade); WriteResult("Average,", stats.AverageGrade); WriteResult(stats.Description, stats.LetterGrade); }