/*--------------------------------------------------
created by smtuttle at Thu Oct 20 13:23:23 PDT 2016
--------------------------------------------------*/
#include <cstdlib>
#include <iostream>
#include <string>
#include <cmath>
#include "grade_in_range.h"
#include "get_letter_grade.h"
using namespace std;


/*--------------------------------------------------
 signature: get_letter_grade : double -> char
 purpose: expects a numeric grade in [0, 100],
    and returns the appropriate letter grade as
    follows:
    [90, 100]    'A'
    [80, 90)     'B'
    [70, 80)     'C'
    [0,  70)     'T' (for try again...)
    any other number  'X'

 examples: get_letter_grade(-12) == 'X'
           get_letter_grade(0) == 'T'
           get_letter_grade(50) == 'T'
           get_letter_grade(70) == 'C'
           get_letter_grade(79.7) == 'C'
           get_letter_grade(80) == 'B'
           get_letter_grade(82.3) == 'B'
           get_letter_grade(90) == 'A'
           get_letter_grade(95) == 'A'
           get_letter_grade(100) == 'A'
           get_letter_grade(101) == 'X'
--------------------------------------------------*/

char get_letter_grade (double num_grade)
{
    if (grade_in_range(num_grade) == false)
    {
        return 'X';
    }
    else if (num_grade >= A_MIN)
    {
        return 'A';
    }
    else if (num_grade >= B_MIN)
    {
        return 'B';
    }
    else if (num_grade >= C_MIN)
    {
        return 'C';
    }
    else
    {
        return 'T';
    }
}