Calculo de Anos bissextos

Publicado por Enzo de Brito Ferber (última atualização em 18/12/2011)

[ Hits: 5.378 ]

Homepage: http://www.maximasonorizacao.com.br

Download byears.c




Programa com rotina SIMPLIFICADA para calcular anos bissextos.

$ gcc -o byears byears.c
$ byears 2000 2004 2008 1600 1700 1800

  



Esconder código-fonte

// byears.c
// Enzo Ferber - dez 2011

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define TRUE   1
#define FALSE   0

#define RED   "\e[01;31m"
#define GREEN   "\e[01;32m"
#define WHITE   "\e[01;37m"

#define COLOR   "\e[m"

int byear ( int year )
{
   /*
    * Regras dos anos bissextos:
    *
    * 1. De 4 em 4 anos e bissexto
    * 2. De 100 em 100 anos nao e bissexto
    * 3. De 400 em 400 anos e bissexto
    * 4. Prevalecem as ultimas regras sobre as primeiras
    */
   return ( year % 400 ) ? (year % 100 ? (year % 4 ? FALSE : TRUE) : FALSE) : TRUE;
}

int main (int argc, char *argv[] )
{
   register int i;
   
   // arg check
   if ( argc < 2 )
   {
      printf ( "Usage: %s y1 y2 y3...\n", argv[0] );
      return EXIT_FAILURE;
   }

   for ( i = 1; i < argc; i ++) printf ( "Ano("WHITE"%s"COLOR"): %s\n", argv[i], 
         byear(atoi(argv[i])) ? GREEN"SIM"COLOR : RED"NAO"COLOR );

   return EXIT_SUCCESS;
}

Scripts recomendados

Calcular potência de um número

Tabuada de número real

Uma implementação do HeapSort

Fatorial Recurssivo

Realizando exponenciação interativa


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário