Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
VivianMachado0 authored Jan 17, 2023
1 parent 9f525a0 commit 9967671
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 0 deletions.
22 changes: 22 additions & 0 deletions bibliotecas de tempo/chrono.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include <iostream>
#include <chrono>

using namespace std;
using namespace chrono;

int main()
{
steady_clock::time_point t1 = steady_clock::now(); // Registro do tempo inicial

cout << "Imprimindo 1.000.000 de estrelas..." << endl;

for (int i = 0; i < 1000000; i++)
cout << "*";

steady_clock::time_point t2 = steady_clock::now(); // Registro do tempo final

cout << "\n\nTempo em milissegundos: " << duration_cast<milliseconds>(t2 - t1).count() << endl;
cout << "Tempo em segundos: " << duration_cast<seconds>(t2 - t1).count() << endl;

return 0;
}
21 changes: 21 additions & 0 deletions bibliotecas de tempo/ctime.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include <iostream>
#include <windows.h> // Sleep()
#include <ctime> // time.h

using namespace std;

int main()
{
clock_t t; // Variável para armazenar o tempo

t = clock(); // Registro do tempo inicial

Sleep(3000); // Espera de 3 segundos

t = clock() - t; // Registro do tempo final

cout << "Tempo em milissegundos: " << t << endl; // Tempo em milissegundos
cout << "Tempo em segundos: " << ((float)t) / CLOCKS_PER_SEC << endl; // Tempo em segundos

return 0;
}
26 changes: 26 additions & 0 deletions bibliotecas de tempo/date.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
time_t t;
struct tm *infoTempo;
char buffer[20];

time(&t);

cout << "t (timestamp)= " << t << endl; // Timestamp
cout << "Data e hora local: " << ctime(&t) << endl; // Data e hora local

infoTempo = localtime(&t);

cout << "Data e hora local: " << asctime(infoTempo) << endl; // Data e hora local

strftime(buffer, 20, "%d/%m/%y", infoTempo); // Apenas a data

cout << buffer;

return 0;
}
14 changes: 14 additions & 0 deletions bibliotecas de tempo/datechrono.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#include <iostream>
#include <chrono>

using namespace std;

int main()
{
long int t = chrono::system_clock::to_time_t(chrono::system_clock::now()); // Timestamp

cout << "Timestamp (t): " << t << endl;
cout << "Data atual: " << ctime(&t) << endl; // Data e hora local

return 0;
}
43 changes: 43 additions & 0 deletions bibliotecas de tempo/locale.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#include <iostream>
#include <time.h> //necessário para usar localtime() e struct tm

using namespace std;

int main(void)
{
// ponteiro para struct que armazena data e hora
struct tm *data_hora_atual;

// variável do tipo time_t para armazenar o tempo em segundos
time_t segundos;

// obtendo o tempo em segundos
time(&segundos);

// convertendo de segundos para o tempo local
data_hora_atual = localtime(&segundos);

// Acessando dados convertidos para a struct data_hora_atual
cout << "\nDia..........: " << data_hora_atual->tm_mday;

// para retornar o mês corretamente devemos adicionar +1
cout << "\nMes..........: " << data_hora_atual->tm_mon + 1;

// para retornar o ano corretamente devemos adicionar 1900
cout << "\nAno..........: " << data_hora_atual->tm_year + 1900;

cout << "\nDia do ano...: " << data_hora_atual->tm_yday; // dia do ano
cout << "\nDia da semana: " << data_hora_atual->tm_wday; // dia da semana

// retornando hora, minuto e segundos
cout << "\nHora ........: " << data_hora_atual->tm_hour; // hora
cout << ":" << data_hora_atual->tm_min; // minuto
cout << ":" << data_hora_atual->tm_sec; // segundo

// retornando dia, mês e ano
cout << "\nData ........: " << data_hora_atual->tm_mday; // dia
cout << "/" << data_hora_atual->tm_mon + 1; // mês
cout << "/" << data_hora_atual->tm_year + 1900; // ano

return 0;
}
19 changes: 19 additions & 0 deletions bibliotecas de tempo/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Atividade Prática

1. Elabore uma função que retorne a quantidade de números primos em um intervalo de números. Por exemplo: se a função receber 2000 como parâmetro, deverá retornar o número de primos existentes entre 2 e 2000. Utilize algum método visto na aula para calcular o tempo de execução da função e mostre o resultado em segundos.

Sugestão de teste:

- Altere gradativamente o valor final de 2000 para 20000, 200000, 2000000, etc;

2. Elabore um programa que atenda a um estacionamento rotativo. Seu sistema deverá ter os seguintes passos:
- Armazenar a placa do veículo, tal como a data e horário de
entrada.
- Quando um veículo sair, deverá ser apresentado o valor a ser pago no estacionamento, o horário de entrada, horário de saída
e o tempo de permanência. Considere:
- 0 a 15 minutos, será cobrado R$ 2,00.
- 15 a 30 minutos, será cobrado R$ 4,00.
- 30 a 60 minutos, ser´a cobrado R$ 8,00.
- Após 1 hora, cada 10 minutos passados dentro do
estacionamento deverá ser cobrado R$ 0,10 centavos a mais. Ex.:
(1 hora de 10 minutos: 8,10).
32 changes: 32 additions & 0 deletions bibliotecas de tempo/time.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#include <iostream>
#include <windows.h>
#include <time.h>

using namespace std;

int main()
{
UINT CPAGE_UTF8 = 65001;
UINT CPAGE_DEFAULT = GetConsoleOutputCP();
SetConsoleOutputCP(CPAGE_UTF8);

time_t t1 = time(NULL); // Registro do tempo inicial

Sleep(3000); // Espera de 3 segundos

time_t t2 = time(NULL); // Registro do tempo final

cout << "t1 = " << t1 << endl; // Timestamp
cout << "t2 = " << t2 << endl; // Timestamp

cout << "\nDiferença de tempo em minutos: " << difftime(t2, t1) / 60 << endl;
cout << "Diferença de tempo em segundos: " << difftime(t2, t1) << endl;
cout << "Diferença de tempo em milisegundos: " << difftime(t2, t1) * 1000 << endl;

if (difftime(t2, t1) >= 3)
cout << "\nO tempo de espera foi de pelo menos 3 segundos." << endl;
else
cout << "\nO tempo de espera foi menor que 3 segundos." << endl;

return 0;
}

0 comments on commit 9967671

Please sign in to comment.