Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com função que transforme dias em anos, meses e dias (contando bissextos e meses com 30 e 31 dias)


Hexential

Pergunta

Olá,

Eu estou desenvolvendo um programa em C que dê a diferença entre duas datas, mas não tenho permissão para utilizar funções prontas para isso, como a difftime. Eu resolvi transformar a data inicial em dias, o que foi feito corretamente, e depois transformar este valor em anos, meses e dias. Entretanto, estou falhando. Já tentei todas as variações que vieram à mente e nenhuma funcionou.

O código que estou tentando realizar consiste em contar os dias até a data final e ao mesmo tempo contar o tempo decorrido.

Se alguém houver uma solução para o meu código, ou uma saída alternativa, estarei feliz em recebê-la.

Grato desde já! Trecho do código:

 

    daysPerMonth[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	nDias = diainicial;
    int nDias2=0, nMeses2=0, nAnos2=0;
    nMeses = mesinicial;
    nAnos = anoinicial;

	//Todas as variáveis são int

	for(i=0;i<dias;i++){
        nDias++;
        nDias2++;

        if (nDias > daysPerMonth[nMeses-1] || ( nMeses==2 && nDias==29 && bissexto(nAnos)==0 ) ){
            nDias = 1;
            nMeses++;
            if (nMeses==13){
                nMeses = 1;
                nAnos++;
            }
        }

        if (nDias2 > 31){
            nDias2 = 1;
            nMeses2++;

            if (nMeses2==13){
                nMeses2 = 1;
                nAnos2++;
            }
        }
    }

 

Editado por Hexential
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...