Autor
|
Tema: Metodo para calcular dias transcurridos (Leído 2,180 veces)
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Hola a tod@s, acabo de hacer un metodo para calcular los dias transcurridos desde el 1 de Enero de ese año, teniendo en cuanta que la fecha pasada por parametro esta validada, se que este metodo funciona pero me gustaria saber si hay otras formas mas simples de implementarlo? Me siento tonta Gracias!! void calcular_dias(t_fecha n) { int dias=0, m[11]={31,28,31,30,31,30,31,31,30,31,30}; switch(n[1]){ case 1: dias+=n[0];break; case 2: dias+=m[0]+n[0];break; case 3: dias+=m[0]+m[1]+n[0];break; case 4: dias+=m[0]+m[1]+m[2]+n[0];break; case 5: dias+=m[0]+m[1]+m[2]+m[3]+n[0];break; case 6: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+n[0];break; case 7: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+n[0];break; case 8: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+n[0];break; case 9: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+n[0];break; case 10: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+n[0];break; case 11: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+m[9]+n[0];break; case 12: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+m[9]+m[10]+n[0];break; } if(n[2]%4==0 && n[1]>2){ dias++; } cout<<"Dias transcurridos desde el 1 de Enero: "<<dias<<endl; }
|
|
« Última modificación: 25 Septiembre 2018, 18:34 pm por Beginner Web »
|
En línea
|
7w7
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Puedes usar la librería time.h que ya viene preparada para trabajar con fechas y horas. Algo así: #include <stdio.h> #include <time.h> unsigned calcular_dias(struct tm *fecha) { double diff; struct tm aux = *fecha; // Copio la fecha que me han pasado aux.tm_mday = 1; // Cambio a dia 1 del mes aux.tm_mon = 0; // Cambio al primer mes del año. Los meses empiezan por 0 diff = difftime(mktime(fecha ), mktime(&aux )); // Calculo los segundos de diferencia entre las dos fechas return diff/(60*60*24); // Devuelvo la diferencia en días } int main() { time_t tiempo; struct tm *fecha; tiempo = time(NULL ); // Consigo la marca de tiempo actual fecha = localtime(&tiempo ); // Y la paso a la estrutura que la descompone en fecha/hora printf("Han pasado %u dias.", calcular_dias (fecha )); }
|
|
« Última modificación: 25 Septiembre 2018, 22:53 pm por MAFUS »
|
En línea
|
|
|
|
M4RQUS
Desconectado
Mensajes: 12
"Paciencia Virtud de Sabios"
|
Creo que podrias calcular la cantidad de dias utilizando un for que valla desde 0 hasta n int calcular_dias(int n){ int dias=0; int m[11] = {31,28,31,30,31,30,31,31,30,31,30}; for(int i = 0; i < n;i++){ dias += m[i]; } return dias; }
Algo asi creo yo (Pd: yo tambien estoy comenzando a programar :B)
|
|
« Última modificación: 26 Septiembre 2018, 04:17 am por M4RQUS »
|
En línea
|
"Paciencia Virtud de Sabios" System.out.println("Iniciado pero con ganas de Aprender");
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Gracias MAFUS, aunque no entiendo casi nada de ese codigo , que debiera leer para entenderlo a parte del codigo? M4RQUS , bueno eso si lo sabia pero se me hace ya mucho codigo colocar un for y tampoco quiero usar una funcion aparte solo para calcular los dias, por ahi lei acerca de un for in mmmmmm
|
|
|
En línea
|
7w7
|
|
|
|
M4RQUS
Desconectado
Mensajes: 12
"Paciencia Virtud de Sabios"
|
No es tan complicado usar un for ademas lo podes poner dentro del procedimiento y te acorta mucho el codigo
|
|
|
En línea
|
"Paciencia Virtud de Sabios" System.out.println("Iniciado pero con ganas de Aprender");
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
metodo de newton rapson para calcular las raices de una funcion con n grado
Programación C/C++
|
kiara_luna
|
1
|
19,213
|
30 Septiembre 2011, 01:45 am
por kiara_luna
|
|
|
Duda con algoritmos para pasar una fecha a días y calcular la diferencia.
Programación C/C++
|
seryioo
|
5
|
3,415
|
5 Agosto 2015, 01:21 am
por seryioo
|
|
|
Calcular días hábiles en PHP
PHP
|
tomasvreal28
|
2
|
8,106
|
2 Diciembre 2015, 01:31 am
por tomasvreal28
|
|
|
Ayuda con código para calcular los días de un mes
Programación C/C++
|
D_F4UL7
|
1
|
2,305
|
25 Octubre 2016, 15:22 pm
por MAFUS
|
|
|
como puedo leer la hora para calcular la cantidad de minutos transcurridos
Programación C/C++
|
angelaguerrero9705
|
5
|
4,133
|
14 Noviembre 2016, 02:16 am
por engel lex
|
|