Advertisement
lencinasalejo

sumarundia

May 8th, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int esFechaValida (int, int, int);
  4. int esBisiesto (int);
  5. int verDia (int);
  6. int verMes (int);
  7. int sumarundia(int, int, int);
  8. int sumarmes(int, int, int);
  9. int sumaranio(int, int, int);
  10.  
  11. int main()
  12. {
  13.     int d,m,a;
  14.     do{
  15.         printf ("Ingrese una fecha valida y le sumare un dia: ");
  16.         scanf("%d", &d);
  17.         scanf("%d", &m);
  18.         scanf("%d", &a);
  19.     }while (esFechaValida(d,m,a)==0);
  20.     d=sumarundia(d,m,a);
  21.     m=sumarmes(d,m,a);
  22.     a=sumaranio(d,m,a);
  23.     printf ("\n%d/%d/%d", d,m,a);
  24.     return 0;
  25. }
  26. int esFechaValida(int dia, int mes, int anio){
  27.     int aux;
  28. if (verMes(mes)==1){
  29.     if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 ){
  30.         aux=verDia(dia);
  31.     }
  32.     else {
  33.         if (mes!=2){
  34.             if (verDia(dia)==1 && dia<=30){
  35.                 aux=1;
  36.             }else{aux=0;}
  37.         }else{
  38.         if (esBisiesto(anio)==1){
  39.             if(verDia(dia)==1 && dia<=29){
  40.                 aux=1;
  41.             }else{aux=0;}
  42.         }else{
  43.  
  44.         if (verDia(dia)==1&&dia<=28){
  45.             aux=1;
  46.         }else{aux=0;}
  47.  
  48.         }
  49.         }
  50.     }
  51. }
  52. else{aux=0;}
  53. return aux;
  54. }
  55. int esBisiesto(int anio){
  56.     int aux;
  57. if (anio%4==0 && anio%100!=0 || anio%400==0){
  58.     aux=1;
  59. }else{aux=0;}
  60. return aux;
  61. }
  62. int verDia(int dia){
  63.     int aux;
  64. if (dia<=31 && dia>=1){
  65.     aux=1;
  66. }else{aux=0;}
  67. return aux;
  68. }
  69. int verMes(int mes){
  70. int aux;
  71. if (mes<=12 && mes>=1){
  72.     aux=1;
  73. }else{aux=0;}
  74. return aux;
  75. }
  76. int sumarundia(int dia, int mes, int anio){
  77.     int ndia;
  78. if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 ){
  79.     if (dia!=31){
  80.        ndia=dia+1;
  81.     }else{ndia=1;}
  82. }else{
  83. if (mes!=2){
  84.     if(dia!=30){
  85.         ndia=dia+1;
  86.     }else {ndia=1;}
  87. }else{
  88. if (esBisiesto(anio)==1){
  89.     if (dia!=29){
  90.         ndia=dia+1;
  91.     }else{ndia=1;}
  92. }else {
  93. if (dia!=28){
  94.     ndia=dia+1;
  95. }else{ndia=1;}
  96. }
  97.  
  98. }
  99. }
  100. return ndia;
  101. }
  102. int sumarmes(int dia, int mes, int anio){
  103.     int nmes;
  104. if (dia==1){
  105.     nmes=mes+1;
  106.     if (nmes>12){
  107.         nmes=1;
  108.     }
  109. }else {nmes=mes;
  110. }
  111. return nmes;
  112. }
  113. int sumaranio(int dia, int mes, int anio){
  114.     int nanio;
  115. if (dia==1 && mes==1){
  116.     nanio=anio+1;
  117. }else{nanio=anio;}
  118. return nanio;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement