Edemar 0 Denunciar post Postado Maio 13, 2018 precisa que seja em c , só com IF, ELSE, ELSE IF. precisa receber dia,mes,ano atual separados precisa receber dia,mes,ano nascimento separados idade não pode ser maior 150 anos descobrir ano atual e o de nascimento são bissexto #include <stdio.h> #include <locale.h> #include <math.h> validaatual(int aatual) //Função para validação de ano { { printf("\nO valor digitado esta incorreto, valores permitidos {1867-2018}."); printf("\nDigite novamente o ano atual : "); scanf("%d",&aatual); getchar(); } if(aatual > 1867 || aatual == 2018) { validaatual(&aatual); } } validames(int matual) //Função para validação de mês { { printf("\nO valor digitado esta incorreto, valores permitidos {1-12}."); printf("\nDigite novamente o mês atual : "); scanf("%d",&matual); getchar(); } if(matual > 12 || matual == 0) { validames(&matual); } } validadia(int datual) //Função para validação de dia { { printf("\nO valor digitado esta incorreto, valores permitidos {1-31- Exceto Fevereiro}."); printf("\nDigite novamente o dia atual : "); scanf("%d",&datual); getchar(); } if(datual > 31 || datual == 0) { validadia(&datual); } } validaanasc(int anasc) //Função para validação de ano nascimento { { printf("\nO valor digitado esta incorreto, valores permitidos {1868-2018}."); printf("\nDigite novamente o ano de nascimento : "); scanf("%d",&anasc); getchar(); } if(anasc > 1867 || anasc ==2018) { validaanasc(&anasc); } } validamnasc(int mnasc) //Função para validação de mes nascimento { { printf("\nO valor digitado esta incorreto, valores permitidos {1-12}."); printf("\nDigite novamente o mês nascimento : "); scanf("%d",&mnasc); getchar(); } if(mnasc > 12 || mnasc == 0) { validamnasc(&mnasc); } } validadnasc(int dnasc) //Função para validação de dia nascimento { { printf("\nO valor digitado esta incorreto, valores permitidos {1-31}."); printf("\nDigite novamente o dia nascimento : "); scanf("%d",&dnasc); getchar(); } if(dnasc > 31 || dnasc == 0) { validadnasc(&dnasc); } } void main() { setlocale(LC_ALL,""); int calendario[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; int datual,matual,aatual,dnasc,mnasc,anasc,bissesto=0; int totalAnos, totalMes, totalDias, diasMes, anoBissexto, bissexto; if( aatual == 0 || aatual >1867 || aatual ==2018 ) //Entrada do ano atual { printf("\nDigite o ano atual: "); scanf("%d",&aatual); } printf("\nDigite o mês atual: "); //Entrada do mês atual scanf("%d",&matual); if(matual > 12 || matual == 0) { validames(&matual); } printf("\nDigite o dia atual : "); //Entrada do dia atual scanf("%d",&datual); if(datual > 31 || datual == 0) { validadia(&datual); } if( anasc == 0 || anasc > 1867 || anasc ==2018 ) { printf("\nDigite o ano de seu Nascimento: "); //Entrada do ano nascimento scanf("%d",&anasc); } if( mnasc == 0 || mnasc > 12 ) { printf("\nDigite seu mês de Nascimento: "); //Entrada do mês nascimento scanf("%d",&mnasc); } if ( dnasc == 0 || dnasc > 31 ) { printf("\nDigite o dia de seu Nascimento : "); //Entrada do dia nascimento scanf("%d",&dnasc); } int ValidacaoMesDia( ) // aqui valida o mes e fala se e bissexto ou nao { if(matual==1 & datual <= 31) { int Janeiro= matual; } else if(matual==2 & datual <= 29) { if (aatual%4==0 & datual <= 29 ) { int Fevereiro= matual; bissexto = 1; } else if( datual <= 28 ) { int Fevereiro= matual; bissexto = 0; } } else if(matual==3 & datual <= 31) { int Marco= matual; } else if(matual==4 & datual <=30) { int Abril= matual; } else if(matual==5 & datual <=31) { int Maio= matual; } else if(matual==6 & datual<=30) { int Junho= matual; } else if(matual==7 & datual <= 31) { int Julho= matual; } else if(matual==8 & datual <=31) { int Agosto= matual; } else if(matual==9 & datual <= 30) { int Setembro= matual; } else if(matual==10 & datual <= 31) { int Outubro= matual; } else if(matual==11 & datual <= 30) { int Novembro= matual; } else if(matual==12 & datual <= 31) { int Dezembro= matual; } else { printf("Erro Confirme os dados novamente... \n\n"); return ColetaDados( ); } if (aatual % 4 == 0 && (aatual % 400 == 0 || aatual % 100 != 0)) // ano em que atual é bissexto { printf("\nAno atual é bissexto.\n"); } else { printf("\nAno atual não é bissexto.\n"); } if (anasc % 4 == 0 && (anasc % 400 == 0 || anasc % 100 != 0)) // ano em que nasceu é bissexto { printf("\nAno que voçê nasceu é bissexto.\n"); } else { printf("\nAno que voçê nasceu não é bissexto.\n"); } if(matual < mnasc) //Se não tiver feito aniversário, desconta 1 { totalAnos = aatual - anasc -1; totalMes = totalAnos * 12; totalDias = totalMes * 365 + bissesto; } else if (matual = mnasc) //Se tiver no mes do aniversario { if(datual >= dnasc) //Verifiva se está no dia ou já passou { totalAnos = aatual - anasc; totalMes = totalAnos * 12; totalDias = totalMes * 365 + bissesto; } else //Se já passou do mes do aniversario { totalAnos = aatual - anasc; totalMes = totalAnos * 12; totalDias = totalMes * 365 + bissesto; } } printf("Sua idade é: %d\n", totalAnos); //mostra idade da pessoa system("PAUSE"); return 0; } } Compartilhar este post Link para o post Compartilhar em outros sites