Título: Ayuda con este programa en C Publicado por: mari2diaz en 22 Julio 2018, 15:26 pm Quiero comparar si una fecha es mayor que la otra en este programa si alguien me puede dar una idea de como hacerlo que no sea con if()
Código
Título: Re: Ayuda con este programa en C Publicado por: aurquiel en 23 Julio 2018, 17:08 pm 1-Evitar la ñ usar variables como año
2- Si usas unsigned en la estrutura las demas variabbles tambien deben ser unsgined 3-Declaraste tres estructuras la ultima estructura que aloja el resultado hubiera sido mas factible solo declarar unas variables. 4- El operador ternario (a>b) ? 1:0 puede ser una sustitucion al if. Código
Título: Re: Ayuda con este programa en C Publicado por: ivancea96 en 23 Julio 2018, 19:59 pm Si bien es cierto que está bien usar tipos que concuerden entre sí, yo no recomendaría usar unsigned salvo que sea totalmente necesario.
Fíjate, por ejmeplo, en esto: (dia>=0) ? "menor":"mayor" dia es unsigned, así que siempre va a ser mayor o igual a 0. La lógica y las operaciones cambian, además de que conseguiremos fácilmente un underflow al andar haciendo restas sin comprobaciones (sin ir más lejos, si el dia o el mes de [1] es mayor que el de
Y en cuanto a la pregunta original, comparar fechas es como restar. Si el mes de la fecha más alta es menor que el de la más pequeña, igual que en una resta: le restas 1 al año y le sumas 12 al mes. Parecido para los días. Título: Re: Ayuda con este programa en C Publicado por: CalgaryCorpus en 24 Julio 2018, 02:21 am Hay que considerar que los años pueden ser bisiestos.
Que tal si calcular la distancia hacia una fecha pasada comun de cada fecha y luego la diferencia entre ambas ditancias? Título: Re: Ayuda con este programa en C Publicado por: MAFUS en 24 Julio 2018, 13:54 pm Y qué tal si de hace con time.h, que ya tiene todo eso pensado?
Título: Re: Ayuda con este programa en C Publicado por: srWhiteSkull en 25 Julio 2018, 15:04 pm Y qué tal si de hace con time.h, que ya tiene todo eso pensado? ...exacto, como usar difftime() y esas cosas :rolleyes: https://en.cppreference.com/w/c/chrono/difftime Título: Re: Ayuda con este programa en C Publicado por: ivancea96 en 25 Julio 2018, 20:31 pm Basta ver el comentario del código para suponer que la idea es hacerlo a mano.
Título: Re: Ayuda con este programa en C Publicado por: MAFUS en 26 Julio 2018, 02:07 am A mi me ha dado la impresión de que lo que quiere es saber si una fecha va antes de otra y que desconocía que con time.h se puede hacer.
Título: Re: Ayuda con este programa en C Publicado por: srWhiteSkull en 26 Julio 2018, 14:38 pm Código: /* Escribe un programa para calcular el numero de dias No pone de que forma debes hacer el programa, simplemente te indica que resuelvas la forma para calcular los días entre dos fechas. Y encima fecha puedes declararla como una estructura time_t (Ejemplo, time_t fecha; ). Si esto no es lo que buscaba el profesor este argumento astuto puede usarse contra él ;) :xD PD Hay que tener en cuenta que el resultado de la función difftime() lo devuelve en segundos, no es como si al usarla resolviera completamente el ejercicio. |