Ver Mensaje Individual
  #8 (permalink)  
Antiguo 22/04/2015, 11:17
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Validar 2 fechas guardadas en variables char [C]

Este si que funciona. Lo tenia guardado por alguna parte y no lo habia encontrado jaja

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. struct Fecha {
  4.     int dia;
  5.     int mes;
  6.     int anio;
  7. };
  8.  
  9. int comparar(struct Fecha fecha, struct Fecha inicio, struct Fecha fin);
  10.  
  11. int main () {
  12.     struct Fecha inicio = { 20, 01, 2000 };    
  13.     struct Fecha fecha  = { 20, 01, 2000 };    
  14.     struct Fecha fin    = { 01, 01, 2020 };    
  15.  
  16.     printf( "%s\n", ( comparar( fecha, inicio, fin ))? "Esta entre las fechas de inicio y fin":"No esta entre las fechas de inicio y fin"  );
  17.  
  18.     getchar();
  19.     return 0;
  20. }
  21.  
  22. int comparar(struct Fecha fechaDada, struct Fecha fechaInicio, struct Fecha fechaFin){
  23.    unsigned long fecha = (fechaDada.anio * 365) + (fechaDada.mes * 28) + fechaDada.dia;
  24.    unsigned long inicio = (fechaInicio.anio * 365) + (fechaInicio.mes * 28) + fechaInicio.dia;
  25.    unsigned long fin = (fechaFin.anio * 365) + (fechaFin.mes * 28) + fechaFin.dia;
  26.    
  27.    if ( fecha >= inicio && fecha <= fin ){
  28.         return 1;
  29.     }else{
  30.         return 0;
  31.     }
  32. }

Este convierte toda la fecha en un valor único al que si se puede hacer comparaciones.

Suerte.