Criar classe de data em C ++

Criar classe de data em C ++
Neste artigo, veremos como manipular as classes de data na linguagem de programação C ++. A linguagem C ++ incorpora métodos e classes de data e hora. Para gerenciar a hora e a data, devemos integrar a biblioteca aos programas. A classe 'data' contém um construtor padrão com três argumentos que permitem que a data seja ajustada quando um item de data é construído.

Crie uma classe de data para adquirir os objetos

A classe contém uma função date () que fornece a data atual do calendário como uma instância. Usando (->) este ponteiro para a variável de data, recuperaremos uma variedade de dados. Este código C ++ foi compilado e executado com sucesso.

#incluir
#incluir
std :: string meses [] = "Jan", "fev", "mar", "abr", "maio", "jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec";
std :: string dias [] = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
"Sentado";
Data da classe
privado:
STD :: String Month;
std :: string dia;
int date;
int ano;
público:
Data()
const int base_year = 1900;
time_t timer;
tm * tempo;
std :: time (& timer);
Time = LocalTime (& Timer);
data = hora-> tm_mday;
mês = meses [tempo-> tm_mon];
dia = dias [tempo-> tm_wday];
ano = tempo-> tm_year + base_year;

Primeiro de tudo, incluímos dois arquivos importantes de cabeçalho e . Declaramos duas matrizes e especificamos os elementos dessas matrizes. A primeira matriz representa os nomes de 12 meses, e a segunda matriz representa os nomes dos dias da semana. Essas matrizes são formadas usando o método 'std :: string'. Declaramos uma classe chamada 'Date'. Seus componentes privados incluem a matriz de meses, a matriz de dias e variáveis ​​para armazenar data e ano. Essas variáveis ​​têm um tipo de dados 'inteiro'.

Na próxima etapa, especificamos os membros públicos da classe. O construtor padrão 'date ()' foi invocado. Definimos o valor do 'base_year', que possui o tipo de dados 'int'. Criamos um ponteiro 'tm *' para o tempo. Chamamos a função std :: time () e passamos o 'timer' como um argumento desta função. O 'tempo' deve ser apontado para a variável 'tm_mday' usando o operador (->). O 'tempo' será apontado para o 'tm_mon' para indicar o mês.

Para adquirir o dia, 'tie' será apontado para a variável 'tm_wday'. Para obter o ano, o valor de 'tm_year' seria adicionado ao valor de 'base_year'.

Void PrintDate (vazio)

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

~ Date ()
;
int main ()

Data d;
d.data de impressão();

Além disso, chamamos a função printDate (). Para mostrar a linha 'A data atual:' Pouco antes da data, utilizamos o 'std :: cout'. Para obter o mês, dia, data e ano, este ponteiro está sendo aplicado. O destruidor '~ date' é invocado. Iniciamos a codificação no corpo da função principal (). Inicializamos a variável 'd' para armazenar a data. No final, chamamos o método printDate () para ilustrar a data.

Use construtor parametrizado

Construa uma classe de data em um programa com três variáveis ​​para armazenar os dados: DD, MM e AAA. Com a ajuda de um construtor parametrizado, definimos e configuramos o objeto e representamos a data na notação DD-Mon-yyyy.

#incluir
#incluir
usando namespace std;
Data da aula

int dd, mm, sim;
público:
data (int d, intm, int y)

dd = d;
mm = m;
aaaaa = y;

Void Disp ()

se (mm> 12)
cout<<"Invalid Month.";
outro
cout<<"Input : "<if (mm == 1)

cout<<"Output : "<
else if (mm == 2)

cout<<"Output : "<

Aqui integramos as bibliotecas e pouco antes do espaço de nome padrão. Nós criamos a classe 'Date'. Aqui inicializamos a variável 'dd' para o dia, 'mm' por um mês e 'aaa' por um ano. Construímos o construtor parametrizado desta classe e o definimos publicamente. Nós chamamos a função DISP ().

Dentro do corpo desta função, aplicamos a condição if-else-se. Se o usuário inserir o valor de um mês maior que 12, o 'cout' imprime o texto 'Mês inválido' na tela. Caso contrário, 'cout' exibe a palavra 'entrada'. Se o usuário inserir o valor do mês 1, 'Cout' imprime o mês 'Jan'. 'Cout' imprime o mês de 'fevereiro' se o usuário fornecer o valor do mês 2.

caso contrário, se (mm == 3)

cout<<"Output : "<
caso contrário, se (mm == 4)

cout<<"Output : "<
caso contrário, se (mm == 5)

cout<<"Output : "<
caso contrário, se (mm == 6)

cout<<"Output : "<
caso contrário, se (mm == 7)

cout<<"Output : "<
caso contrário, se (mm == 8)

cout<<"Output : "<
caso contrário, se (mm == 9)

cout<<"Output : "<
caso contrário, se (mm == 10)

O 'cout' imprime o mês 'mar' se o usuário especificar o valor do mês 3. 'cout' mostra o mês de 'APR' se o usuário inserir o valor para o mês 4, e assim por diante.


cout<<"Output : "<
caso contrário, se (mm == 11)

cout<<"Output : "<
caso contrário, se (mm == 12)

cout<<"Output : "<

;
int main ()

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

Além disso, fomos chamados de função principal (). Aqui primeiro, inicializamos a variável para armazenar o dia, mês e ano. O comando 'cout' é aplicado para imprimir a linha, então o usuário entrou nos valores do dia, mês e ano do formulário numérico. No final, criamos uma ilustração da classe 'Data'. Empregamos disp () nessa instância. Para manter a saída na tela por um tempo, usamos getch () e, para encerrar o programa, adicionamos o comando 'return 0'.

Utilize Set () e Get () Função

Defina uma classe 'data' que contém três itens de dados: um mês (int), um dia (int) e um ano (int). Construtores com argumentos diferentes serão incluídos na classe e os argumentos são usados ​​para configurar esses itens de dados. Cada item de dados terá uma função Set () e Get (). Portanto, forneça uma função DisplayDate () que mostra a data.

#incluir
#incluir
usando namespace std;
Data da aula

público:
Data (int, int, int);
Void Setmonth (int);
int getMonth ();
Void Setday (int);
int getDay ();
Void Setyear (int);
int getyear ();
void DisplayDate ();
privado:
Int mês;
int dia;
int ano;
;
Data :: data (int m, int d, int y)

if (m> = 1 && m<=12)
mês = m;

No início do programa, introduzimos as bibliotecas e, em seguida, usamos o espaço de nome padrão. A classe denominada 'data' foi declarada. Os membros públicos desta classe são definidos. Data Construtor, Void Setmonth (), GetMonth (), Setday (), GetDay (), Setyear (), Getyear () e DiPlaydate () são todos os elementos públicos . Diferentes funções são representadas por esses membros.

Os elementos privados da classe são especificados na próxima etapa. Mês, dia e ano serão incluídos nele. Utilizamos a data da função :: date (). A condição se-else é aplicada. O valor do mês deve ser maior que 1 e menor que 12.

outro

mês = 1;

dia = d;
ano = y;

Data de vazio :: setmonth (int m)

if (m> = 1 && m<=12)
mês = m;
outro

mês = 1;


Data do Void :: setday (int d)

dia = d;

Data de vazio :: Setyear (int y)

ano = y;

int date :: getmonth ()

mês de retorno;

int date :: getday ()

dia de volta;

int date :: getyear ()

ano de volta;

Data de vazio :: DisplayDate ()
cout<
int main ()

Data de data1 (5,7,2022);
cout<<"Date is ";
Date1.displayDate ();

A função setMoth () está sendo usada para ajustar o valor do mês. A função setday () é aplicada para definir o valor do dia. Da mesma forma, usamos a função Setyear () para especificar o valor do ano. Agora usamos a função get () para obter os valores de mês, dia e ano. Usamos a função DisplayDate () para adquirir toda a data.

No final, invocamos a função principal (). Criamos um membro 'Date1' e definimos a data. O comando 'cout' imprime a data e também empregamos o método DisplayDate () mais uma vez.

Conclusão

Conversamos sobre os detalhes da classe de data deste artigo. Cobrimos três técnicas diferentes para criar a classe 'data'. Essas demonstrações de métodos são bem explicadas e implementadas com sucesso.