Calculo de Anos bissextos

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

[ Hits: 5.541 ]

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

Bits trocados

EXPRESSÕES ARITMÉTICAS - PARTE 1

Análise combinatória

Função simples sendo chamada dentro da main

Par ou ímpar?


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts