Hola a todos.
¿Hay otra manera más práctica para hacer esto?, lo que se me antoja es separar día, mes y año castearlo a int y luego compararlas una a una.-
Dejo la función por si desean hacerme alguna observación.-
Código C:
Ver originalvoid consultation(FILE *ptrFile, Super *super, int tamStructSuper){
char fechaIni[11], fechaFin[11], *p = NULL;
int ch, ok;
float totalPar = 0.0, totalCon = 0.0;
do{
printf( "\n\n Ingrese INICIO de la consulta (formato ==> 11/04/2015)....: " ); fgets(fechaIni
, 11, stdin
); if((p
=strchr(fechaIni
, '\n'))){ *p='\0';
}
else{
while((ch
= getchar()) !='\n' && ch
!=EOF
); }
if( ok != 10 || fechaIni[2] != '/' || fechaIni[5] != '/'){
ok = 0;
}
}while(!ok);
do{
printf( "\n\n Ingrese FINAL de la consulta (formato ==> 11/04/2015).....: " ); fgets(fechaFin
, 11, stdin
); if((p
=strchr(fechaFin
, '\n'))){ *p='\0';
}
else{
while((ch
= getchar()) !='\n' && ch
!=EOF
); }
if( ok != 10 || fechaFin[2] != '/' || fechaFin[5] != '/'){
ok = 0;
}
}while(!ok);
printf( "\n\n =======================================================" ); printf( " \n\n Fecha Verduler%ca Almac%cn Total", 161, 130 );
ok=0;
while( fread( super
, tamStructSuper
, 1, ptrFile
) == 1 ){ if( super->fecha >= fechaIni && super->fecha <= fechaFin ){
ok++;
totalPar = super->verduras + super->almacen;
totalCon += totalPar;
printf( "\n%11s %12.2f %10.2f %9.2f", super
->fecha
, super
->verduras
, super
->almacen
, totalPar
); }
}
if( ok > 0 ){
printf( "\n\n Total de la consulta.................$ %.2f", totalCon
); }else{
printf( "\n\n No hay movimientos entre el %s al %s", fechaIni
, fechaFin
); }
MENSAJE;
}
Daniel