rendered paste body 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 = (ano1 != 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 = (ano2 != 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);