Autor
|
Tema: fechas guardadas en variables char validar ">=, <=" (Leído 2,435 veces)
|
DanielPy
Desconectado
Mensajes: 145
|
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.- void 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; }
Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
¿Forma más práctica? Puedes hacer una estructura donde almacenar las fechas por partes, y hacer funciones acordes a esa estructura.
|
|
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola ivancea96. Gracias por ocuparte, lo que me propones es interesante sólo que antes lo voy a intentar de esta manera y veré que resulta.-
a = 30/01/2015 b = 01/02/2015
Ahora mismo tengo un barullo respetable para validar por ej. a[9] con b[9] cuando llegue a a[6] y b[6] sabré si el año es igual o distinto y luego continuar con el mes y si es igual continuar con el día.- Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Ese es el problema, que trabajar con char* no es tan intuitivo como trabajar con enteros. Creando una estructura podrás hacer comprobaciones simples.
|
|
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola. Tienes toda la razón, lo que pasa es que cuando uno está estudiando por querer reinventar la rueda o por desconocimiento cometemos esos errores. Estoy haciendo la función para validar las fechas para la consulta, como hasta el momento tengo muchos if ni bien funcione la voy a exponer para que me digas (si lo deseas) como puedo optimizarla.- Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola. Al fin encontré la solución y puedo continuar sin pérdidas de tiempo, no pongo el código porque lo encontré en otro foro y desconozco si se puede, sería interesante volcarlo aquí porque es muy conciso, unas pocas líneas, aclaro que lo digo para los que estamos estudiando porque todos los expertos de este foro seguramente lo conocen, de echo los autores son rir3760 y vangodp.- Saludos. Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema al llamar la tabla "char"
PHP
|
XXXXXX
|
6
|
3,365
|
14 Junio 2010, 01:00 am
por XXXXXX
|
|
|
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
|
Dark4ngel
|
7
|
14,104
|
3 Noviembre 2011, 10:42 am
por Dark4ngel
|
|
|
Pasar partidas guardadas de version "dudosa" a version Steam
Juegos y Consolas
|
vincent13m
|
0
|
3,624
|
20 Noviembre 2012, 16:25 pm
por vincent13m
|
|
|
China prohíbe pseudónimos "controvertidos" como "Obama" o "Putin" en internet
Noticias
|
wolfbcn
|
0
|
7,551
|
5 Febrero 2015, 14:58 pm
por wolfbcn
|
|
|
MVC: ¿Dónde validar datos con "profundidad"?
PHP
|
Alex_bro
|
0
|
2,047
|
6 Marzo 2016, 19:22 pm
por Alex_bro
|
|