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++;
            }
        }
    }