Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Joao_Ingles

Ajuda no codigo..

Mensagens Recomendadas

Joao_Ingles

Criar um programa que calcule o numero de dias entre duas datas do mesmo ano. As datas

sao introduzidas no formato dia mes. O programa devera pedir as datas na consola.

Exemplo:

Escreva o ano:

1974

Escreva a primeira data:

25

4

Escreva a segunda data:

25

7

Em casos que a diferenca da um numero negativo, como nesse ultimo exemplo (-91).

O calculo devera ser efectuado numa funcao, invocada pela main().

O ano podera ser bisexto. No calendario gregoriano, que vigora nos paıses catolicos

desde 1582, serao bisextos todos os anos que sejam multiplos de 4, mas nao sejam multiplos

de 100, excepto se forem tambem multiplos de 400. Ou seja, 2000 foi bisexto, mas 1900 nao

foi e 2100 nao sera.

O programa devera alertar para datas que nao facam sentido.

Não sei muito de C, estou no Inicio. Estou a tentar fazer o exercício 3. O que fiz ate agora foi o seguinte:

Declaração das variáveis.. o ciclo para  a verificar se as datas introduzidas são validas ou não. Não sei qual é a função que devo utilizar para fazer a diferença dos dias.

Outra coisa: ele so esta a verificar a primeira data, devo fazer outro switch para o mes2??

#include <stdio.h>

main()

{

int dia,mes,ano;

int dia2,mes2;

   

printf("Escreve o ano: ");

scanf("%d",&ano);

printf("Data1(Formato:dd mm):  ");

scanf("%d%d",&dia,&mes);

printf("Data2(Formato:dd mm):  ");

scanf("%d%d",&dia2,&mes2);

/*Verificação se a data introduzida é valida ou não*/

switch(mes)

{

case 2: if (dia>=1 && dia<=28 + (ano%4==0))

printf("Data Valida\n");

else

printf("Data Invalida\n");

break;

case 4: if (dia>=1 && dia<=30)

printf("Data Valida\n");

else

printf("Data Invalida\n");

break;

default: if (mes<1 || mes>12)

printf("Data Invalida\n");

else

if (dia>=1 && dia<=31)

printf("Data Valida\n");

else

printf("Data Invalida\n");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.