Skip to content

Commit df0782c

Browse files
committed
Initial commit
0 parents  commit df0782c

File tree

8 files changed

+535
-0
lines changed

8 files changed

+535
-0
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

Documentação.pdf

385 KB
Binary file not shown.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 heltonr13
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

ProgramaPrincipal.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <iostream> // ENTRADA E SAÍDA PADRÃO
2+
#include <fstream> // MANIPULAR ARQUIVOS
3+
#include "cadastro.h" // CLASSE E TODAS AS SUB-ROTINAS
4+
using namespace std;
5+
6+
int main(void) {
7+
short opcao; // ARMAZENA A OPCAO DO MENU
8+
9+
fstream arquivo("banco.dbc", ios_base::in | ios_base::binary); // ABERTURA DO ARQUIVO EM MODO LEITURA BINÁRIA:
10+
11+
if(arquivo.fail()) // SE O ARQUIVO NÃO EXISTIR
12+
criarArquivo(); // CRIA O ARQUIVO
13+
14+
do {
15+
opcao = menu(); // menu() RETORNA UMA OPCAO TRATADA VALIDA
16+
switch(opcao) { // CHAMA A SUB-ROTINA CORRESPONDENTE:
17+
case 1: cadastrar(); break;
18+
case 2: pesquisarNome(); break;
19+
case 3: pesquisarData(); break;
20+
case 4: remover(); break;
21+
case 5: alterar(); break;
22+
}
23+
} while (opcao); // ENQUANTO A OPCAO FOR DIFERENTE DE ZERO
24+
25+
arquivo.close(); // FECHA O ARQUIVO
26+
return 0;
27+
}

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# crud-cpp
2+
TODO

cadastro.h

Lines changed: 354 additions & 0 deletions
Large diffs are not rendered by default.

calendar.h

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#include <iostream>
2+
#include <cstring>
3+
#include <cctype>
4+
#include <cstdio>
5+
#include <cmath>
6+
#include <cstdlib>
7+
8+
void rmvachr(char CADEIA[], char CARACTERE) {
9+
char *POS1 = CADEIA;
10+
char *POS2 = CADEIA;
11+
while (*POS1) {
12+
*POS2 = *POS1++;
13+
POS2 += (*POS2 != CARACTERE);
14+
}
15+
*POS2 = '\0';
16+
}
17+
18+
short sday(char DT[]) {
19+
return atoi(&DT[0]);
20+
}
21+
22+
short smonth(char DT[]) {
23+
return atoi(&DT[3]);
24+
}
25+
26+
short syear(char DT[]) {
27+
return atoi(&DT[6]);
28+
}
29+
30+
unsigned long int dateansi(char DT[]) {
31+
char DATATEMP1[11] = {};
32+
char DATATEMP2[11] = {};
33+
short I;
34+
strcpy(DATATEMP1, DT);
35+
for (I = 0; I <= 9; ++I) {
36+
if (I < 4) DATATEMP2[I] = DATATEMP1[I + 6];
37+
if (I == 4) DATATEMP2[4] = '/';
38+
if (I > 4 and I < 7) DATATEMP2[I] = DATATEMP1[I - 2];
39+
if (I == 7) DATATEMP2[7] = '/';
40+
if (I > 7) DATATEMP2[I] = DATATEMP1[I - 8];
41+
}
42+
rmvachr(DATATEMP2, '/');
43+
return atol(DATATEMP2);
44+
}
45+
46+
unsigned long int julianday(char DT[]) {
47+
short DIA, MES, ANO;
48+
float A, B, C, D, E, F;
49+
DIA = sday(DT);
50+
MES = smonth(DT);
51+
ANO = syear(DT);
52+
if (MES < 3) {
53+
ANO = ANO - 1;
54+
MES = MES + 12;
55+
}
56+
if (dateansi(DT) >= 2299161) {
57+
A = floor(ANO / 100);
58+
B = floor(A / 4);
59+
C = 2 - A + B;
60+
}
61+
else C = 0;
62+
D = floor(365.25 * (ANO + 4716));
63+
E = floor(30.6001 * (MES + 1));
64+
F = D + E + DIA + 0.5 + C - 1524.5;
65+
return (unsigned long int) F;
66+
}
67+
68+
char *jultodate(unsigned long int DJ) {
69+
static char DATA[11];
70+
float A, B, C, D, E, F, G, H, I, J, K;
71+
A = (float)DJ;
72+
if (A > (float)2299160) {
73+
B = (float)floor((A - 1867216.25) / 36524.25);
74+
C = A + 1 + B - (float)floor(B / 4);
75+
}
76+
else C = A;
77+
D = C + 1524;
78+
E = (float)floor((D - 122.1) / 365.25);
79+
F = (float)floor(E * 365.25);
80+
G = (float)floor((D - F) / 30.6001);
81+
H = D - F - floor(G * 30.6001);
82+
if (G < 14) I = G - 1;
83+
else I = G - 13;
84+
if (I > 2) J = E - 4716;
85+
else J = E - 4715;
86+
if (J > 0) K = J;
87+
else K = (J + 1) * -1;
88+
sprintf(DATA, "%02.f/%02.f/%04.f", H, I, K);
89+
return DATA;
90+
}
91+
92+
short dayweek(char DT[]) {
93+
return (short) ((julianday(DT) + 2) % 7);
94+
}

manzano.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include <iostream>
2+
#include <windows.h>
3+
using namespace std;
4+
5+
#if defined _WIN32 || defined _WIN64
6+
void position(int LINHA, int COLUNA) {
7+
if (COLUNA >= 1 and COLUNA <= 80 and LINHA >= 1 and LINHA <= 24) {
8+
HANDLE TELA;
9+
COORD POS;
10+
TELA = GetStdHandle(STD_OUTPUT_HANDLE);
11+
POS.X = COLUNA - 1;
12+
POS.Y = LINHA - 1;
13+
SetConsoleCursorPosition(TELA, POS);
14+
}
15+
}
16+
void limpa(void) {
17+
HANDLE TELA;
18+
DWORD ESCRITA = 0;
19+
COORD POS;
20+
TELA = GetStdHandle(STD_OUTPUT_HANDLE);
21+
POS.X = 0;
22+
POS.Y = 0;
23+
FillConsoleOutputCharacter(TELA, 32, 100 * 100, POS, &ESCRITA);
24+
position(2, 1);
25+
}
26+
#else
27+
void position(int LINHA, int COLUNA) {
28+
if (COLUNA >= 1 && COLUNA <= 80 && LINHA >= 1 && LINHA <= 24)
29+
cout << "\033[" << LINHA << ";" << COLUNA << "H";
30+
}
31+
void limpa(void) {
32+
cout << "\033[2J";
33+
position(2, 1);
34+
}
35+
#endif

0 commit comments

Comments
 (0)