rendered paste body#include <stdio.h>
#include <stdlib.h>
/*Programa para ler, desconsiderando o ano bissexto, duas datas, cada uma consistindo
em dia, mes e ano, dados em formato numérico(20,3,2000 para 20/3/2000). Para cada
data deve ser informado se é valida ou não*/
/*Ivan Freitas Junior
RA: 435465*/
int main(int argc, char *argv[])
{
int dia1, mes1, ano1, dia2, mes2, ano2;
int dataValida1, dataValida2, anoValido;
int mes28, mes30, mes31;
/*entrada das informações via teclado*/
printf("Usuario deve informar duas datas(Dia/Mes/Ano):\n\n");
printf("Exemplo 20/3/2011\n\n ");
printf("Data valida: = 1\n\n");
printf("Data invalida: = 0\n\n");
printf("Informe a primeira data:\n\n ");
printf("Digite o dia: ");
scanf("%d", &dia1);
printf("\n");
printf("Digite o mes: ");
scanf("%d", &mes1);
printf("\n");
printf("Digite o ano: ");
scanf("%d", &ano1);
printf("\n");
/*Obtenção dos calculos*/
/*verificando se o ano da primeira data é valido*/
anoValido = (anoValido != 0);
/*Verificando o mes com 28 dias*/
mes28 = ((dia1 >= 1 && dia1 <= 28) && ((mes1 == 2))) && anoValido;
/*Verificando os meses com 30 dias*/
mes30 = ((dia1 >= 1 && dia1 <= 30) && ((mes1 == 4 || mes1 == 6 || mes1 == 9 ||
mes1 == 11))) && anoValido;
/*Verificando os meses com 31 dias*/
mes31 = ((dia1 >= 1 && dia1 <= 31) && ((mes1 == 1 || mes1 == 3 || mes1 == 5 ||
mes1 == 7 || mes1 == 8 || mes1 == 10 || mes1 == 12))) && anoValido;
dataValida1 = mes28 || mes30 || mes31;
printf("Informe a segunda data:\n\n ");
printf("Digite o dia: ");
scanf("%d", &dia2);
printf("\n");
printf("Digite o mes: ");
scanf("%d", &mes2);
printf("\n");
printf("Digite o ano: ");
scanf("%d", &ano2);
printf("\n");
/*Verificando se o ano da segunda data é valido*/
anoValido = (anoValido != 0);
mes28 = ((dia2 >= 1 && dia2 <= 28) && (mes2 == 2)) && anoValido;
mes30 = ((dia2 >= 1 && dia2 <= 30)) && ((mes2 == 4 || mes2 == 6 || mes2 == 9 ||
mes2 == 11)) && anoValido;
mes31 = ((dia2 >= 1 && dia2 <= 31)) && ((mes2 == 1 || mes2 == 3 || mes2 == 5 ||
mes2 == 7 && mes2 == 8 && mes2 == 10 || mes2 == 12)) && anoValido;
dataValida2 = mes28 || mes30 || mes31;
printf("Verificando a primeira data %d/%d/%d...: %d\n\n", dia1, mes1, ano1, dataValida1);
printf("Verificando a segunda data %d/%d/%d...: %d\n\n", dia2, mes2, ano2, dataValida2);
system("PAUSE");
return 0;
}