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-19 03:54:21 +00:00
|
|
|
public void AddLetterGrade(char letter)
|
|
|
|
{
|
|
|
|
switch (letter)
|
|
|
|
{
|
|
|
|
case 'A':
|
|
|
|
AddGrade(90);
|
|
|
|
break;
|
|
|
|
case 'B':
|
|
|
|
AddGrade(80);
|
|
|
|
break;
|
|
|
|
case 'C':
|
|
|
|
AddGrade(70);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
AddGrade(0);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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:54:21 +00:00
|
|
|
foreach (var grade in this.grades)
|
2021-02-16 22:34:31 +00:00
|
|
|
{
|
2021-02-19 03:54:21 +00:00
|
|
|
result.lowGrade = Math.Min(grade, result.lowGrade);
|
|
|
|
result.highGrade = Math.Max(grade, result.highGrade);
|
|
|
|
result.Average += grade;
|
|
|
|
}
|
|
|
|
|
|
|
|
// var index = 0;
|
|
|
|
// do
|
|
|
|
// {
|
|
|
|
// 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
|
|
|
}
|
|
|
|
|
|
|
|
}
|