Programación General > C/C++

 fecha del dia anterior

<< < (2/3) > >>

punteroNULO:

--- Cita de: "m0skit0" ---Estás presuponiendo que usa Windows
--- Fin de la cita ---
Utilizando dev-c++, es más que probable.

emab84io:
Si, es windows

pero amigos podrian ser mas especificos en que condiciones tengo que cambiar para obtener el resultado que quiero

punteroNULO:
Como dije anteriormente tienes que cambiar todo el código. Pondré un trozo para empezar.

--- Código: C ---if (dia < 1) // no es el día primero{   dia--;}else // día primero{   // tenemos que calcular el último día del mes anterior y restar un mes a la fecha   // en el caso de que estemos en enero también hay que restar un año} 

emab84io:
Seria asi. verifiquen por favor
La fecha de entrega esta proxima

punteroNULO:
primer error:

--- Código: C ---if (dia>d) por la condicion anterior a esta es evidente que nuca se cumplirá (si es monor o igual a "d" no puede se mayor).
Lo correcto sería comprobar si es mayor de 1.

--- Código: C ---if (dia>1) 
Cuando es día 1 y estamos en enero el día anterior será el 31 de diciembre del año anterior.

--- Código: C ---if (mes==1)       {          dia=31;          mes=12;          anio--;       } 
finalmente en otro caso restamos un mes y calculamos el último día de ese mes.

--- Código: C ---else       {           mes--;           switch (mes)           {                  case 4: case 6: case 9: case 11: dia=30;  break;                  case 2: if (bisiesto(anio))                             dia=29;                           else                              dia=28;                          break;                  default: dia=31;           }       }     
todo junto:

--- Código: C ---if (dia<=d){   if (dia>1)      dia--;   else   {       //dia=1;       if (mes==1)       {          dia=31;          mes=12;          anio--;       }       else       {           mes--;           switch (mes)           {                  case 4: case 6: case 9: case 11: dia=30;  break;                  case 2: if (bisiesto(anio))                             dia=29;                           else                              dia=28;                          break;                  default: dia=31;           }       }       }   printf("nEl  dia anterior sera:%2d-%2d-%d.",dia,mes,anio);   return TRUE;}else    return FALSE; 

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa