Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Sumar dias a una fecha

Estas en el tema de Sumar dias a una fecha en el foro de C/C++ en Foros del Web. Alguien que me pueda ayudar con este ejercicio Una tienda de bodas lleva el control de las fechas de boda que han sido seleccionadas por ...
  #1 (permalink)  
Antiguo 04/04/2015, 21:43
 
Fecha de Ingreso: abril-2015
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Sumar dias a una fecha

Alguien que me pueda ayudar con este ejercicio
Una tienda de bodas lleva el control de las fechas de boda que han sido seleccionadas por sus clientes para la celebración del magno evento. La empresa enfrenta algunas veces problemas porque las novias requieren adelantar la fecha de la boda, en digamos una cantidad de días N, de tal manera que se adelanta la fecha según corresponda, considerando el número de días de cada mes y si el año es bisiesto o no. Por ejemplo si la fecha de la boda es 16-07-2011 y N= 81, la nueva fecha será 27-04-2011.
1. Realice el UML de la clase.
2
2. Codifique la clase. Escriba los métodos constructores y los métodos set y get para cada atributo.
3. Escriba los métodos de cálculo:
a. Defina un método booleano que determine si el año es bisiesto.
b. Defina un método que devuelva la cantidad de días que tiene un mes específico.
c. Defina un método que adelante la fecha de la boda considerando el número de días definido por la novia.
4. Cree en el main() una instancia de la clase con el constructor con parámetros y pruebe los métodos mencionados anteriormente.

--------------------------------------------------------------------------------------------------------
Hasta ahora llevo esto, pero la parte del metodo que sirva para adelantar la fecha es que no tengo ni idea
----------------------------
Código C++:
Ver original
  1. class FechaBoda{
  2. private:
  3.     int dia, mes, anno;
  4. public:
  5.     FechaBoda(){
  6.     dia=0;
  7.     mes=0;
  8.     anno=0;}
  9.     FechaBoda(int unDia, int unMes, int unAnno){
  10.     dia=unDia;
  11.     mes=unMes;
  12.     anno=unAnno;}
  13.     void setDia(int unDia)
  14.     {dia=unDia;}
  15.     void setMes(int unMes)
  16.     {mes=unMes;}
  17.     void setAnno(int unAnno)
  18.     {anno=unAnno;}
  19.     int getDia()
  20.     {return dia;}
  21.     int getMes()
  22.     {return mes;}
  23.     int getAnno()
  24.     {return anno;}
  25.     bool esBisiesto()
  26.     {return ((anno % 4 == 0) && !(anno % 100 == 0 && anno % 400 != 0));}
  27.     int cantDias()
  28.     {int m=mes;
  29.         if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) return 31;
  30.         else if (m==2)
  31.                 if (esBisiesto()) return 29;
  32.                     else return 28;
  33.         else return 30;}
  34.  
  35. };

Última edición por razpeitia; 04/04/2015 a las 21:52
  #2 (permalink)  
Antiguo 04/04/2015, 21:58
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Sumar dias a una fecha

Bueno y cual es tu pregunta?

No esperaras que te hagamos la tarea!
  #3 (permalink)  
Antiguo 04/04/2015, 22:05
 
Fecha de Ingreso: abril-2015
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Sumar dias a una fecha

Mi pregunta es como hacer la parte de que se ingrese una cantidad de dias y que eso adelante la fecha que tenia en un principio, ando que le doy vueltas a esa parte pero no se
  #4 (permalink)  
Antiguo 04/04/2015, 22:17
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Sumar dias a una fecha

Hay varios métodos que puedes tomar:

Método 1:
Define un método en tu clase boda, que lo único que haga es avanzar un día. Metelo en un for donde se repita N veces y tienes tu problema resuelto.

Método 2:
Usar conversión de fechas a otro sistema donde la suma y restan sean triviales y después volver a convertir la fecha al sistema actual. http://en.wikipedia.org/wiki/Julian_...ian_Day_Number

Método 3:
Usar la librería time.
  #5 (permalink)  
Antiguo 04/04/2015, 22:47
 
Fecha de Ingreso: abril-2015
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Sumar dias a una fecha

Lo del for y la libreria time no lo puedo usar porque se supone que todavia no me han enseñado, y estaba viendo lo de la conversion a otro sistema pero no lo entiendo.
  #6 (permalink)  
Antiguo 04/04/2015, 23:15
Avatar de Elvixx10  
Fecha de Ingreso: agosto-2012
Mensajes: 40
Antigüedad: 12 años, 3 meses
Puntos: 1
Creo que ya te dieron la solución a tu problema, pienso que eso de no aplicar por que no te lo han enseñado lo visualizó algo tonto (disculpa si ofendo a algunos), pero si eres programador se supone que debes de resolver los problemas siendo autodidacta y no esperar a que te enseñen como hacerlo. Bueno solo es un pequeño punto de vista.

Etiquetas: dias, fecha, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:07.