Descripción
Se desea desarrollar una clase para manipular y
operar con fechas y horas según nuestro uso horario.
Para ello se pide desarrollar tres clases relacionadas
para encapsular cada una de estas entidades: CFecha, CHora y CTiempo.
CFecha es una clase que mantiene información sobre un día
en particular. Debe recibir información como día (1..31),
mes (número) , y año. Cuando es desplegada una fecha, debe
mostrar el dia de la semana( lunes, martes ... domingo) , su número
dentro del mes (1..31), y el año. Esta clase implementa servicios
de lectura y escritura de fechas, y operaciones que permiten sumar y restar
fechas. Adicionalmente contiene un método estático que permite
consultar por la fecha actual.
CHora es la clase que mantiene información sobre la hora dentro de un dia. Recibe y puede escribir información como hora (0..24), minutos y segundos. Como CFecha implementa operaciones que nos permiten sumar y restar horas. Proponga un esquema para manejar "overflow" y "underflow" sean una buena solución ante el problema que se resolverá con estas clases. Como CFecha implementa un método estático que retorna una instancia con la hora actual.
CTime es una clase que compone (relación de composición o agregación) las dos clases anteriores. Es decir debe incluir un objeto CFecha y otro CHora de modo que podamos definir el tiempo en forma completa.
Programa de prueba para las clases desarrolladas
Para probar las clases antes desarrolladas, haga
un programa que permita:
1.- Ingresar una fecha por teclado y muestre en pantalla la edad en
años, meses y dias desde la fecha hasta hoy.
2.- Ingrese una fecha y nos indique a que día de la semana correspondía
o corresponderá.
3.- Dado el instante en que usted nació, nos indique cuanto
tiempo usted ha vivido.
4.- Obtenga el promedio entre tres tiempos ingresados por teclado.
(Ojo que para ello debe implementar la operación división
por entero)