Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int esFechaValida (int, int, int);
- int esBisiesto (int);
- int verDia (int);
- int verMes (int);
- int main()
- {
- int d,m,a;
- do{
- printf ("Ingrese una fecha valida: ");
- scanf("%d", &d);
- scanf("%d", &m);
- scanf("%d", &a);
- }while (esFechaValida(d,m,a)==0);
- printf ("\n%d/%d/%d", d,m,a);
- return 0;
- }
- int esFechaValida(int dia, int mes, int anio){
- int aux;
- if (verMes(mes)==1){
- if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 ){
- aux=verDia(dia);
- }
- else {
- if (mes!=2){
- if (verDia(dia)==1 && dia<=30){
- aux=1;
- }else{aux=0;}
- }else{
- if (esBisiesto(anio)==1){
- if(verDia(dia)==1 && dia<=29){
- aux=1;
- }else{aux=0;}
- }else{
- if (verDia(dia)==1&&dia<=28){
- aux=1;
- }else{aux=0;}
- }
- }
- }
- }
- else{aux=0;}
- return aux;
- }
- int esBisiesto(int anio){
- int aux;
- if (anio%4==0 && anio%100!=0 || anio%400==0){
- aux=1;
- }else{aux=0;}
- return aux;
- }
- int verDia(int dia){
- int aux;
- if (dia<=31 && dia>=1){
- aux=1;
- }else{aux=0;}
- return aux;
- }
- int verMes(int mes){
- int aux;
- if (mes<=12 && mes>=1){
- aux=1;
- }else{aux=0;}
- return aux;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement