Alguém me ajuda, por favor. O professor pediu para entregar para hoje um programa que recebe uma data e verifica se ela é válida ou não, consegui fazer o programa, ele até compila, mas se o mês for < que 0 e mês > 12, ele dá como data válida, como arrumaria isso? Valeu
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
int main(){
system("Color F0");{
setlocale (LC_ALL,"Portuguese");
int d, m, a, resto;
printf("**********> DIGITE A DATA <**********\n\n");
printf("Dia = ");
scanf("%d", &d);
printf("Mês = ");
scanf("%d", &m);
printf("Ano = ");
scanf("%d", &a);
if (m==2){
resto=a%4;
if (resto==0){
if (d>0 && d<30){
printf ("\n>>> Data válida <<<");
} else {
printf ("\n>>> Data inválida <<<");
}} else {
if (d>0 && d<29){
printf ("\n>>> Data válida <<<");
} else {
printf ("\n>>> Data inválida <<<");
}
}
} else {
if (m==4 || m==6 || m==9 || m==11){
if (d>0 && d<31){
printf ("\n>>> Data válida <<<");
} else {
printf ("\n>>> Data inválida <<<");
}
} else {
if (d>0 && d<32){
printf ("\n>>> Data válida <<<");
} else {
printf ("\n>>> Data inválida <<<");
getch();
}
}
}
}
}