JMAS 0 Posted November 28, 2011 Report Share Posted November 28, 2011 int bissexto(int ano) { int resultado; if(ano%100==0){ if(ano%400==0) resultado=1; if(ano%400!=0) resultado=0; } if(ano%100!=0){ if(ano%4==0) resultado=1; if(ano%4!=0) resultado=0; } return resultado; } int dias(int mes, int ano) { int resultado; if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12) resultado=31; if(mes==4||mes==6||mes==9||mes==11) resultado=30; if(mes==2) resultado=28+bissexto(ano); return resultado; } int diasEntreDatas(int dia1, int mes1, int ano1, int mes2, int ano2) { int resultado=0, mes, ano; if(ano1<ano2) { resultado=resultado+dias(mes1,ano1)-dia1;/*dias ate ao fim do mes*/ for(mes=mes1+1;mes<=12;mes++) resultado=resultado+dias(mes,ano1);/*somatorio ate ao fim do ano*/ for(ano=ano1+1;ano<ano2;ano++) resultado=resultado+365+bissexto(ano);/*soma dos anos*/ for(mes=1;mes<mes2;mes++) resultado=resultado+dias(mes,ano2);/*soma dias desde o inicio do ano2*/ resultado=resultado+1;/*para o primeiro dia do mes seguinte*/ } else if(ano1==ano2) { resultado=resultado+dias(mes1,ano1)-dia1;/*dias ate ao fim do mes*/ for(mes=mes1+1;mes<=mes2;mes++) resultado=resultado+dias(mes,ano1);/*somatorio dos meses*/ resultado=resultado+1;/*ate ao primeiro dia do mes seguinte*/ } return resultado; } estas tres funçoes servem para calcular o numero de dias de vida de uma pessoa... como faço para declarar o valor do return dentro da funçao main? outro problema que estou a ter e que na linha 68 ele diz "implicit declaration of function printf " e na linha 69 diz o mesmo , mas para o scanf, estou a mais de meia hora a tentar perceber porque, alguem me pode ajudar? Link to post Share on other sites
HappyHippyHippo 1,162 Posted November 28, 2011 Report Share Posted November 28, 2011 tens de inserir a linha no início do ficheiro para incluir a declaração das funções printf e scanf: #include <stdio.h> IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
JMAS 0 Posted November 28, 2011 Author Report Share Posted November 28, 2011 LOL que braindead... um problema a menos. Link to post Share on other sites
JMAS 0 Posted November 28, 2011 Author Report Share Posted November 28, 2011 agora como e que eu pego no resultado obtido para o tempo de vida de uma pessoa e peço para imprimir na main? Link to post Share on other sites
askpt 0 Posted November 28, 2011 Report Share Posted November 28, 2011 No main só tens de colocar na zona de declaração de variáveis. int resul; e quando precisares de chamar a função fazes: resul=diasEntreDatas(ano); Link to post Share on other sites
JMAS 0 Posted November 28, 2011 Author Report Share Posted November 28, 2011 a minha dificuldade esta em por ser da funçao diasEntreDatas que tem de vir o retorno da vida da pessoa em dias. Link to post Share on other sites
HappyHippyHippo 1,162 Posted November 28, 2011 Report Share Posted November 28, 2011 não percebo bem a pergunta, mas acho que terá haver algo com isto : http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html pretendes passar de dias para um texto ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
JMAS 0 Posted November 28, 2011 Author Report Share Posted November 28, 2011 nao nao, eu tento explicar melhor... dadas aquelas 3 funçoes se nao tiverem erros, por exemplo uma pessoa que nasça a 15/10/2011 e por exemplo de entrada o mes 11 do mesmo ano, a resposta pretendida e 17, pois contam os 16 dias ate ao final do mes mais um ate ao primeiro dia do mes seguinte. obtendo este valor na funçao diasEntreDatas, o objectivo e depois imprimi-lo na funçao main: case 1: printf(" dias\n"); break; dentro daquele printf. Link to post Share on other sites
askpt 0 Posted November 28, 2011 Report Share Posted November 28, 2011 printf(diasEntreDatas(dia1, mes1, ano1, mes2, ano2)," dias."); Será isto? Link to post Share on other sites
JMAS 0 Posted November 28, 2011 Author Report Share Posted November 28, 2011 nao e bem assim, mas ja la cheguei, obrigadissimo. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now