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

Ajuda! Passar data para outro ano


Guest lpeoli

Pergunta

Estou precisando Urgênte de uma ajuda, preciso somar 30 dias em uma data de entrada, só que c entrar com uma data maior que dia 01/dezembro ele soma os dias, como que eu faço para colocar ele adicionar um ano, passar para Janeiro e ficar com os dias corretos, c alguém puder me ajudar, agradeço muito.

------------------------------------------------------------------------------

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

const int meses[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int main()

{

int dia, mes, ano, s_dias;

int i, total_dias;

printf ("Digite o dia: ");

scanf ("%d", &dia);

printf ("Digite o mes: ");

scanf ("%d", &mes);

printf ("Digite o ano: ");

scanf ("%d", &ano);

{total_dias = 0;

for(i=0; i<(mes-1); i++)

{ total_dias += meses; }

total_dias += (dia-1);

total_dias += 31;

for(i=0; i<11; i++)

{

if(total_dias > meses)

{ total_dias -= meses; }

else break;

}

printf("A Data de Pagamento e:\n");

printf ("\nData: %d/%d/%d \n\n", total_dias,i+1,ano);

getch();

return EXIT_SUCCESS;

}

}

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Kassi, vlw, mais já tentei de todo jeito, mais não funciona, será que você poderia modificar e postar o cód pra mim, c tiver como? brigadão mesmo assim, vlw

Link para o comentário
Compartilhar em outros sites

  • 0

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

const int meses[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int main()
{
int dia, mes, ano;
int i, total_dias;

printf ("Digite o dia: ");
scanf ("%d", &dia);
printf ("Digite o mes: ");
scanf ("%d", &mes);
printf ("Digite o ano: ");
scanf ("%d", &ano);

if(mes == 12 && dia>1) 
{
    ano++;
    mes = 1;
}

{total_dias = 0;

for(i=0; i<(mes-1); i++)
{ total_dias += meses[i]; }
total_dias += (dia-1);
total_dias += 31;

for(i=0; i<11; i++)
{
if(total_dias > meses[i])
{ total_dias -= meses[i]; }
else break;
}

printf("A Data de Pagamento e:\n");
printf ("\nData: %d/%d/%d \n\n", total_dias,i+1,ano);
getch();
return EXIT_SUCCESS;
}
}

Testa ai =)

Link para o comentário
Compartilhar em outros sites

  • 0

Kassi, Brigadão cara, só tá dando um pau, tipo assim tá passando para o mês 02, eu coloquei 10/12/2008 aí ele passou para 10/02/2009, os dias ficaram certo, o ano também, só o mês que passou um a mais, como eu conserto??

Link para o comentário
Compartilhar em outros sites

  • 0

Troca esse trecho:

printf("A Data de Pagamento e:\n");
printf ("\nData: %d/%d/%d \n\n", total_dias,i+1,ano);
getch();
Por esse:
printf("A Data de Pagamento e:\n");
printf ("\nData: %d/%d/%d \n\n", total_dias,i,ano);
getch();

Deu certo?

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      652k
×
×
  • Criar Novo...