Pular para o conteúdo

Função para validação de datas

Função para validação de datas que recebe três números como parâmetros (dia, mês, ano) e retorna 1 caso a data seja válida e 0 caso a data seja inválida.
Angelito Monteiro Goulart angelito
Hits: 29.635 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Função para validação de datas que recebe três números como parâmetros (dia, mês, ano) e retorna 1 caso a data seja válida e 0 caso a data seja inválida.
Download data.h Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

/*
*Biblioteca para validacao de datas
*
*Retorna 1 caso a data seja correta
*e 0 caso a data esteja incorreta
*
*Angelito M. Goulart
*Setembro/2009
*
*/
int valida_data(int dia, int mes, int ano)
    {
    if ((dia >= 1 && dia <= 31) && (mes >= 1 && mes <= 12) && (ano >= 1900 && ano <= 2100)) //verifica se os numeros sao validos
        {
            if ((dia == 29 && mes == 2) && ((ano % 4) == 0)) //verifica se o ano e bissexto
            {
                return 1;
            }
            if (dia <= 28 && mes == 2) //verifica o mes de feveireiro
            {
                return 1;
            }
            if ((dia <= 30) && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) //verifica os meses de 30 dias
            {
                return 1;
            }
            if ((dia <=31) && (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes ==8 || mes == 10 || mes == 12)) //verifica os meses de 31 dias
            {
                return 1;
            }
            else
            {
                return 0;
            }
      }
       else
           {
                return 0;
           }
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Cálculo do dia da semana

Batalha naval em C++

Número de Fibonacci - C++

Mini-editor de texto intuitivo em ncurses

Ponteiros

#1 Comentário enviado por lm.pintanel em 28/11/2009 - 09:46h
No trecho do seu código:
" if ((dia == 29 && mes == 2) && ((ano % 4) == 0)) //verifica se o ano e bissexto"

fiz a seguinte alteração que contempla todos os anos bissextos:

if ((dia == 29 && mes == 2) && ((ano % 4) == 0)&& ((ano % 100)!=0) ||((ano % 400) ==0))

mais um comentário e boa pratica de programção é que as funções devolvam "0" quando bem sucedidas.

Contribuir com comentário

Entre na sua conta para comentar.