segunda-feira, 1 de julho de 2013

Verificar se um ano é bissexto

Hoje vou mostrar como podemos verificar se um ano é bissexto usando uma função bem simples:

bool IsBissextile( int year )
{
return ( year % 4 == 0) && ( ( year % 400 ) == 0 || ( year % 100 ) > 0 );
}

O que fizemos aqui foi verificar se o ano é divisível por 4, ou seja, verificamos se o módulo da divisão é igual a zero, depois verificamos uma segunda condição, o ano não deve ser divisível por 100 ao menos que ele seja divisível por 400, se as duas condições forem verdadeiras é porque o ano é bissexto.

Vamos testar a função verificando se o ano atual é bissexto, para isso vamos usar a classe wxDateTime.

int year = wxDateTime::Today().GetYear();

if( IsBissextile( year ) )
wxMessageBox( wxT( "É bissexto" ) );
else
wxMessageBox( wxT( "Não é bissexto" ) );

Até a próxima dica

0 comentários:

Postar um comentário