std::cin.getline(words, 500);
Godziny są w pliku.. Więc o co z tym chodzi?
załóżmy, że `f` to obiekt std::ifstream, wczytujesz wszystkie godziny
std::vector<std::string s> v;
std::string s;
while (std::getline(f, s))
v.push_back(s);
Na potrzeby prostego porównywania godzin warto przekonwertować sobie takiego stringa z godziną na jakiegoś inta. Cokolwiek, byleby porównanie takich intów gwarantowało taki sam wynik jak porównywanie godzin z których wynikają te inty. Jeżeli ograniczasz się tylko do jednego dnia, to konwersja może wyglądać tak: "00:00" -> 0, "00:01" -> 1, ..., "01:00" -> 60, ...
Ah, nie możesz korzystać ze <string>. To ja bym zrobił strukturke z polem char str[100] i używał jej jako kontener na znaki jak string w kodzie wyżej. Chyba możesz założyć, że maksymalna długość godziny to 100.