/*--------------------------------------------------
created by smtuttle at Tue Oct 18 14:05:27 PDT 2016
--------------------------------------------------*/
#include <cstdlib>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;


/*--------------------------------------------------
 signature: greet : string int -> string
 purpose: expects a name and the hour of the
    day expressed in 24-hour time, [0, 23],
    and returns a greeting appropriate to
    the time of day:
    [0, 12) - morning
    [12, 18) - afternoon
    [18, 23] - evening

 examples: greet("Calvin", 1) == "Good morning, Calvin!"
           greet("Mary", 13) == "Good afternoon, Mary!"
           greet("Steve", 20) == "Good evening, Steve!"
           greet("Molly", 0) == "Good morning, Molly!"
           greet("Sue", 12) == "Good afternoon, Sue!"
           greet("Jimmy", 18) == "Good evening, Jimmy!"
           greet("Sharon", 23) == "Good evening, Sharon!"
           greet("Jackie", -1) == "Time too small - must be in [0, 23]"
           greet("Bob", 24) == "Time too big - must be in [0, 23]"
--------------------------------------------------*/

string greet(string name, int hour)
{
    if (hour < 0)
    {
        return "Time too small - must be in [0, 23]";
    }
    else if (hour < 12)
    {
        return "Good morning, " + name + "!";
    }
    else if (hour < 18)
    {
        return "Good afternoon, " + name + "!";
    }
    else if (hour <= 23)
    {
        return "Good evening, " + name + "!";
    }
    else
    {
        return "Time too big - must be in [0, 23]";
    }
}