// cHora.cpp
// Definição da classe cHora
// Exercício da aula de 23 de Novembro de 2001


#include <iostream.h>
#include <time.h>
#include "cHora.h"

	
cHora::cHora()
{
	Hora = 0;
	Minutos = 0;
}

void cHora::Escrever()
{
	cout << Hora << "h:" << Minutos << "m" << endl;
}

void cHora::Actual()
{
	struct tm *newtime;
	time_t aclock;

	
	time( &aclock );                 /* Get time in seconds */

	newtime = localtime( &aclock );  /* Convert time to struct */
                                     /* tm form */

	Hora = newtime->tm_hour ;
	Minutos = newtime->tm_min ;


}
	

void cHora::Somar( int min )
{
	int dif = 60 - Minutos;

	if ( dif > min )
	{
		Minutos = Minutos + min;
		return;
	}
	else
	{
		Hora++;
		if ( Hora == 24 ) Hora = 0;
		
		Minutos = 0;
		min = min - dif;
	}

	
	Hora = Hora + min/60;

	if ( Hora >= 24 ) Hora = Hora % 24;

	Minutos = Minutos + min % 60;


}

