Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2015, 21:43
Cassie_Artemis
 
Fecha de Ingreso: abril-2015
Mensajes: 4
Antigüedad: 9 años, 1 mes
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