-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfuncionarios.c
67 lines (59 loc) · 2.5 KB
/
funcionarios.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <string.h>
#include "funcionarios.h"
void cadastrar(Funcionario funcionarios[], int numMaxFuncionarios) {
int i = 0;
for (i = 0; i < numMaxFuncionarios; i++) {
printf("Nome: ");
scanf(" %59[^\n]", funcionarios[i].nome);
printf("Cargo: ");
scanf(" %59[^\n]", funcionarios[i].cargo);
printf("RG: ");
scanf(" %29[^\n]", funcionarios[i].doc.RG);
printf("CPF: ");
scanf(" %29[^\n]", funcionarios[i].doc.CPF);
printf("Funcionario cadastrado com sucesso!\n");
}
FILE *arquivo = fopen("funcionarios.txt", "a");
if (arquivo == NULL) {
printf("ERRO AO ABRIR O ARQUIVO!");
}
for (i = 0; i < numMaxFuncionarios; i++) {
fprintf(arquivo, "NOME:%s|CARGO:%s|RG:%s|CPF:%s\n", funcionarios[i].nome, funcionarios[i].cargo, funcionarios[i].doc.RG, funcionarios[i].doc.CPF);
}
fclose(arquivo);
}
void buscar(char nomeBusca[], int numMaxLinhas, int contFuncionarios) {
FILE *arquivo = fopen("funcionarios.txt", "r");
if (arquivo == NULL) {
printf("ERRO AO ABRIR O ARQUIVO!");
}
char caractere;
while ((caractere = fgetc(arquivo)) != EOF) {
if (caractere == '\n') {
numMaxLinhas++;
} else if (caractere != '\n' && numMaxLinhas > 0) {
numMaxLinhas++;
}
}
fclose(arquivo);
arquivo = fopen("funcionarios.txt", "r");
if (arquivo == NULL) {
printf("ERRO AO ABRIR O ARQUIVO!");
}
Funcionario funcionariosLidos[numMaxLinhas-1];
char linha[500];
while (fgets(linha, sizeof(linha), arquivo)) {
sscanf(linha, "NOME:%59[^|CARGO:]|CARGO:%59[^|RG:]|RG:%29[^|CPF:]|CPF:%29[^\n]", funcionariosLidos[contFuncionarios].nome, funcionariosLidos[contFuncionarios].cargo, funcionariosLidos[contFuncionarios].doc.RG, funcionariosLidos[contFuncionarios].doc.CPF);
if (strcmp(funcionariosLidos[contFuncionarios].nome, nomeBusca) == 0) {
printf("DADOS:\n");
printf("Nome: %s\nCargo: %s\nRG: %s\nCPF: %s\n", funcionariosLidos[contFuncionarios].nome, funcionariosLidos[contFuncionarios].cargo, funcionariosLidos[contFuncionarios].doc.RG, funcionariosLidos[contFuncionarios].doc.CPF);
printf("Funcionario encontrado!\n");
fclose(arquivo);
return;
}
contFuncionarios++;
}
fclose(arquivo);
printf("O nome buscado nao foi encontrado, tente novamente!\n");
}