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

como resolver o problema


david-ikki

Pergunta

Como faço o resto...

Exercício

Escreva um programa que peça três inteiros, correspondentes a dia, mês e ano. Peça os

números até conseguir valores que estejam na faixa correta (dia entre 1 e 31, mês entre 1 e 12 e ano

entre 1900 e 2100). Verifique se o mês e o número de dias estão coerentes (incluindo verificação de

anos bissextos). Se estiver tudo certo, imprima o número que aquele dia corresponde no ano.

Comente seu programa. PS: Um ano é bissexto se for divisível por 4 e não for divisível por 100,

exceto para os anos divisíveis por 400, que também são bissextos.

#include<stdio.h>
#include<stdlib.h>
int dia,mes,ano,volta,retorna,repete;
int main()
{
    system("color 1f");
    volta:
    printf("\nEntre com dia: ");
    scanf("%d",&dia);
    if(dia>31)printf("\nSo numero entre 1 e 31\n");
    if(dia>31)goto volta;
    printf("\nEntre com mes: ");
    scanf("%d",&mes);
    if(mes>12)printf("\ndigite entre 1 e 12\n");
    if (mes>12)goto volta;
    {    
    repete:            
    printf("\nEntre com ano: ");
    scanf("%d",&ano);
    if((ano<1900)||(ano>2100))printf("\nSo numero entre 1900 e 2100\n");
    if((ano<1900)||(ano>2100))goto repete;
    system("cls");
    system("color 7c");
    printf("\n\nEste dia corresponde a %d do %d de %d\n\n",dia,mes,ano);
}
    system("pause");
    return(0);
}

Desde jáagradeço a atenção.. Obrigado.. :rolleyes:

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
se não me engano, em c % traz o resto da divisao. ai se o resto da divisao por 4 for 0 (if (ano % 4) == 0) é porque é divisivel por 4, entendeu??

Então isso eu sei como fazer, o problema é para definir as variaveis de janeiro a dezembro com os dias certinho para imprimir na tela, ou seja quando entrar com o mes 2 ele faça a correção de dias, e imprima na tela o dia da semana o mes ano, incluindo a correção do ano bissexto. :)

Link para o comentário
Compartilhar em outros sites

  • 0

opa, você sabe criar funcoes?? ai você não poderia criar uma funcao q, você passando o mes e o ano ele retorne o numero de dias?? exemplo:

int NumDias(int Mes, int Ano)
{
    if ((Mes == 1) || (Mes == 3) || ... || (Mes == 12)) return 31;
    if ((Mes == 4) || (Mes == 6) || ... || (Mes == 11)) return 30;
    if (Mes == 2)
    {
        /* Aqui você calcula o numero de dias de feverero de acordo com o ano */
    }
}[/code]

ai pra contar qual é o dia do ano, você entra num for de 1 ao mes digitado - 1 e soma o total de dias de cada mes anterior com o numero de dias digitados.

Link para o comentário
Compartilhar em outros sites

  • 0
volta:
    printf("\nEntre com dia: ");
    scanf("%d",&dia);
    if(dia>31)printf("\nSo numero entre 1 e 31\n");
    if(dia>31)goto volta;
    printf("\nEntre com mes: ");
    scanf("%d",&mes);
    if(mes>12)printf("\ndigite entre 1 e 12\n");
    if (mes>12)goto volta;
    {    
    repete:            
    printf("\nEntre com ano: ");
    scanf("%d",&ano);
    if((ano<1900)||(ano>2100))printf("\nSo numero entre 1900 e 2100\n");
    if((ano<1900)||(ano>2100))goto repete;
}

olha...só uma dica minha aki.... não usa esse trem de goto não veyy...é feio demais... o codigo parece q é mal feito...fik do tipow..."não sei fazer um laco de repeticao!!!"

coloka do tipow...:

printf("digite o mes: ");

scanf("%d", & mes);

while (mes < 1 || mes > 12)

{

printf("o mes só pode ser de 1 a 12!!\nDigite novamente: ");

scanf("%d", & mes);

}

pronto!!

usa mais goto não.....=/

flws

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...