Crear clase de fecha en C ++

Crear clase de fecha en C ++
En este artículo, veremos cómo manipular las clases de fechas en el lenguaje de programación C ++. El lenguaje C ++ incorpora métodos y clases de fecha y hora. Para administrar la hora y la fecha, debemos integrar la biblioteca en los programas. La clase 'fecha' contiene un constructor predeterminado con tres argumentos que permiten ajustar la fecha cuando se construye un elemento de fecha.

Crear una clase de fecha para adquirir los objetos

La clase contiene una función date () que proporciona la fecha del calendario actual como instancia. Usando (->) este puntero a la variable de fecha, recuperaremos una variedad de datos. Este código C ++ ha sido compilado y ejecutado correctamente.

#incluir
#incluir
std :: string meses [] = "jan", "feb", "mar", "abr", "may", "jun",
"Jul", "aug", "sep", "oct", "nov", "dec";
std :: string days [] = "sol", "lon", "martes", "casado", "thu", "viernes",
"Se sentó";
Fecha de clase
privado:
std :: string mes;
std :: día de cadena;
int fecha;
int año;
público:
Fecha()
const int base_year = 1900;
Tiempo Timer_t;
tm * tiempo;
std :: tiempo (y temporizador);
TIME = LOCALTIME (& TIMER);
date = time-> tm_mday;
mes = meses [tiempo-> tm_mon];
día = días [tiempo-> tm_wday];
año = TIME-> TM_YEAR + Base_Year;

En primer lugar, incluimos dos archivos de encabezado importantes y . Declaramos dos matrices y especificamos los elementos de estas matrices. La primera matriz representa los nombres de 12 meses, y la segunda matriz representa los nombres de los días de semana. Estas matrices se forman utilizando el método 'std :: string'. Declaramos una clase llamada 'fecha'. Sus componentes privados incluyen la variedad de meses, variedad de días y variables para la fecha de almacenamiento y año. Estas variables tienen un tipo de datos 'entero'.

En el siguiente paso, especificamos a los miembros públicos de la clase. Se ha invocado el constructor predeterminado 'date ()'. Establecemos el valor del 'base_year', que tiene el tipo de datos 'int'. Creamos un puntero 'tm *' por el tiempo. Llamamos a la función std :: time () y pasamos el 'temporizador' como argumento de esta función. El 'tiempo' debe apuntar a la variable 'tm_mday' utilizando el operador (->). El 'tiempo' se señalará al 'tm_mon' para indicar el mes.

Para adquirir el día, se apuntará a la variable 'tm_wday'. Para obtener el año, el valor de 'tm_year' se agregaría al valor de 'base_year'.

Void PrintDate (Void)

std :: cout<< "The current date: "

~ Date ()
;
int main ()

Con fecha de;
d.fecha de impresion();

Además de esto, hemos llamado a la función printDate (). Para mostrar la línea 'la fecha actual:' justo antes de la fecha, utilizamos el 'std :: cout'. Para obtener el mes, el día, la fecha y el año 'este' puntero se aplica. Se invoca el destructor '~ fecha'. Comenzamos la codificación en el cuerpo de la función principal (). Inicializamos la variable 'd' para almacenar la fecha. Al final, llamamos al método printDate () para ilustrar la fecha.

Usar constructor parametrizado

Construya una clase de fecha en un programa con tres variables para almacenar los datos: DD, MM y YYYY. Con la ayuda de un constructor parametrizado, definimos y configuramos el objeto y representamos la fecha en la notación dd-monon-yyy.

#incluir
#incluir
usando el espacio de nombres STD;
Fecha de clase

int dd, mm, yyyy;
público:
fecha (int d, intm, int y)

dd = d;
mm = m;
yyyy = y;

vacío disp ()

if (mm> 12)
cout<<"Invalid Month.";
demás
cout<<"Input : "<if (mm == 1)

cout<<"Output : "<
más si (mm == 2)

cout<<"Output : "<

Aquí integramos las bibliotecas y justo antes del espacio de nombres estándar. Hemos creado la clase 'Fecha'. Aquí inicializamos la variable 'dd' para el día, 'mm' por un mes y 'aaa yyy' por un año. Construimos el constructor parametrizado de esta clase y lo establecemos públicamente. Hemos llamado a la función disp ().

Dentro del cuerpo de esta función, aplicamos la condición if-else-if. Si el usuario ingresó el valor de un mes mayor que 12, el 'Cout' imprime el texto 'Mes inválido' en la pantalla. De lo contrario, 'Cout' muestra la palabra 'entrada'. Si el usuario ingresa al valor del mes 1, 'Cout' imprime el mes 'Jan'. 'Cout' imprime el mes 'febrero' si el usuario proporciona el valor del mes 2.

más si (mm == 3)

cout<<"Output : "<
más si (mm == 4)

cout<<"Output : "<
más si (mm == 5)

cout<<"Output : "<
más si (mm == 6)

cout<<"Output : "<
más si (mm == 7)

cout<<"Output : "<
más si (mm == 8)

cout<<"Output : "<
más si (mm == 9)

cout<<"Output : "<
más si (mm == 10)

El 'Cout' imprime el mes 'Mar' si el usuario especifica el valor del mes 3. 'Cout' muestra el mes 'APR' si el usuario ingresa el valor para el mes 4, y así sucesivamente.


cout<<"Output : "<
más si (mm == 11)

cout<<"Output : "<
más si (mm == 12)

cout<<"Output : "<

;
int main ()

int d, m, y;
coutd;
coutm;
Couty;
fecha d1 (d, m, y);
D1.disp ();
getch ();
return (0);

Además, nos hemos llamado la función principal (). Aquí primero, inicializamos la variable para almacenar el día, el mes y el año. El comando 'cout' se aplica para imprimir la línea, por lo que el usuario ha ingresado los valores de la forma numérica, el día y el año. Al final, creamos una ilustración de la clase 'fecha'. Empleamos disp () a ese caso. Para mantener la salida en la pantalla durante un tiempo, hemos usado getch () y para finalizar el programa, agregamos el comando 'return 0'.

Utilizar la función set () y get ()

Definir una clase de 'fecha' que contiene tres elementos de datos: un mes (int), un día (int) y un año (int). Los constructores que tengan diferentes argumentos se incluirán en la clase, y los argumentos se utilizan para configurar estos elementos de datos. Cada elemento de datos tendrá una función set () y get (). Por lo tanto, proporcione una función de DISPLAYDATE () que muestra la fecha.

#incluir
#incluir
usando el espacio de nombres STD;
Fecha de clase

público:
Fecha (int, int, int);
vacío setmonth (int);
int getMonth ();
vacío setday (int);
int getday ();
vacío setyear (int);
int getyear ();
void displayDate ();
privado:
int mes;
int día;
int año;
;
Fecha :: fecha (int m, int d, int y)

if (m> = 1 && m<=12)
mes = m;

Al comienzo del programa, presentamos las bibliotecas y, y luego utilizamos el espacio de nombres estándar. La clase llamada 'fecha' ha sido declarada. Los miembros públicos de esta clase están definidos. Constructor de fecha, void setmonth (), getMonth (), setday (), getday (), setyear (), getyear () y diplayDate () son todos elementos públicos . Diferentes funciones están representadas por estos miembros.

Los elementos privados de la clase se especifican en el siguiente paso. Mes, día y año se incluirán en él. Hemos utilizado la fecha de la función :: date (). Se aplica la condición if-else. El valor del mes debe ser mayor que 1 y menos de 12.

demás

mes = 1;

día = D;
año = y;

Fecha de vacío :: setmonth (int m)

if (m> = 1 && m<=12)
mes = m;
demás

mes = 1;


Fecha de vacío :: setday (int d)

día = D;

Fecha de vacío :: setyear (int y)

año = y;

int fecha :: getMonth ()

mes de regreso;

int fecha :: getday ()

día de regreso;

int fecha :: getyear ()

año de regreso;

Fecha de vacío :: displayDate ()
cout<
int main ()

Fecha de fecha1 (5,7,2022);
cout<<"Date is ";
Fecha1.Mostrar fecha();

La función setMoth () se está utilizando para ajustar el valor de mes. La función setday () se aplica para establecer el valor del día. Del mismo modo, utilizamos la función setyear () para especificar el valor del año. Ahora hemos usado la función get () para obtener los valores de mes, día y año por separado. Hemos utilizado la función DisplayDate () para adquirir toda la fecha.

Al final, hemos invocado la función principal (). Hemos creado un miembro 'date1' y establecemos la fecha. El comando 'Cout' imprime la fecha, y también empleamos el método DisplayDate () una vez más.

Conclusión

Hemos hablado sobre los detalles de la clase de fecha en este artículo. Hemos cubierto tres técnicas diferentes para crear la clase de 'fecha'. Estas demostraciones de métodos están bien explicadas y se implementan con éxito.