Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
fogona

ajuda em fluxograma

Recommended Posts

Alguém conhece uma formula para transformar dia do século em data ex:

25/04/1974 (data)----------para-----------36.584 (dia correspondente no século {contando a partir de 1901})

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, seu calculo está errado, pois em 100 anos, se considerarmos apenas os anos normais, teremos 36500 dias...

Agora vou ao meu algoritmo:

Temos q considerar anos bissextos e messes com mais e menos dias...

O calculo não é tão simples quanto parece...

Eu faria o seguinte em C# (fluxograma confunde):


 private static int DiaDoSeculo( int dia, int mes, int ano )
 {
  int dias = dia;
  mes--;
  for( int i = mes; i > 0; i-- )
  {
   dias += GetNumDiasMes( i, ano );
  }
  ano--;
  int ano_simples = ano % 100;
  for( int i = ano_simples; i > 0; i-- )
  {
   dias += GetNumDiasAno( ano-- );
  }
  return dias;
 }

 private static bool IsBissexto( int ano )
 {
  if( ano % 400 == 0 )
   return true;
  else if( ano % 4 == 0 && ano % 100 != 0 )
   return true;
  else
   return false;
 }

 private static int GetNumDiasAno( int ano )
 {
  if( IsBissexto( ano ) )
   return 366;
  else
   return 365;
 }

 private static int GetNumDiasMes( int mes, int ano )
 {
  switch( mes )
  {
   case 1:
    return 31;
   case 2:
    if( IsBissexto( ano ) )
     return 29;
    else
     return 28;
   case 3:
    return 31;
   case 4:
    return 30;
   case 5:
    return 31;
   case 6:
    return 30;
   case 7:
    return 31;
   case 8:
    return 31;
   case 9:
    return 30;
   case 10:
    return 31;
   case 11:
    return 30;
   case 12:
    return 31;
  }
  return 0;
 }

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×