<commit_before>/** Cabecalhos das funcoes implementadas no modulo funcoes.c */

typedef struct
{
   int id;
   int numSala;
   char bloco;
   int caraterSala;  // Lab, Anfiteatro, sala comum, auditório, etc
}TipoSala;

typedef struct
{
   int id;
   int mat;
   char nome[100];
}Docentes;

typedef struct
{
   int id;
   int mat;
   int cpf;
   char nome[100];
}Tecnico;

typedef struct
{
    int dia;
    int mes;
    int ano;
}Data;

typedef struct
{
    int id;
    int id_TipoSala;
    int id_Docente;
    Data data;
}Reserva;

/* Responsável pela função: <NAME>
   Compara o CPF e senha do técnico, caso os dados estejam
   corretos o usuário é redirecionado para o menu, caso contrário
   ele é redirecionado para a tela inicial/login.
*/
void login(char *user, char *senha);

/* Responsável pela função: <NAME>
   A função "menu" imprime as opções do sistema
*/
void menu();

/* Responsável pela função: <NAME>
   Chama os "DBs" necessários para exibir
   detalhes sobre salas que foram reservadas
*/
void relatorio();

/* Responsável pela função: <NAME>
   Verifica o tipo de operação desejada
   (cadastro de salas/docentes) e solicita
   ao usuário as info. necessárias e chama
   o DB correspondente ao tipo do parâmetro.
*/
void cadastrar(int op);

/* Responsável pela função: <NAME>
   Cadastra uma sala armazenando-a em um arquivo
   txt
*/
int dbSala(TipoSala sala);

/* Responsável pela função: <NAME>
   Cadastra um docente armazenando-o em um arquivo
   dat
*/
int dbDocente(Docentes docente);

/* Responsável pela função: <NAME>
   Cadastra uma reserva armazenando-a em um arquivo
   dat
*/
int dbReserva(Reserva reserva);

/* Responsável pela função: <NAME>
   Chama um arquivo txt que contém
   info sobre as datas e horários em que
   as salas estão cadastradas
*/

void consultaReser(int op_res);

/* Responsável pela função: <NAME>
   A função pede as info necessárias para
   cadastrar uma reserva
*/
void reserva();

/*  Responsável pela função: <NAME>
    A função recebe um texto como parâmetro
    e pede ao usuário que digite algo referente
    ao texto que foi recebido pela função
*/
char* entrada_char(char *texto);

/*
    Responsavel pela função: <NAME>
    Caso o número e o bloco da sala informado ja esteja no
    arquivo texto a funcao retorna 0 para informar
    a duplicidade da informação
*/
int registro_duplicado_sala(int numSala, char bloco);<commit_msg>Inclusao das Func verificaMes e bissexto<commit_after>/** Cabecalhos das funcoes implementadas no modulo funcoes.c */

typedef struct
{
   int id;
   int numSala;
   char bloco;
   int caraterSala;  // Lab, Anfiteatro, sala comum, auditório, etc
}TipoSala;

typedef struct
{
   int id;
   int mat;
   char nome[100];
}Docentes;

typedef struct
{
   int id;
   int mat;
   int cpf;
   char nome[100];
}Tecnico;

typedef struct
{
    int dia;
    int mes;
    int ano;
}Data;

typedef struct
{
    int id;
    int id_TipoSala;
    int id_Docente;
    Data data;
}Reserva;

/* Responsável pela função: <NAME>
   Compara o CPF e senha do técnico, caso os dados estejam
   corretos o usuário é redirecionado para o menu, caso contrário
   ele é redirecionado para a tela inicial/login.
*/
void login(char *user, char *senha);

/* Responsável pela função: Alan Pires
   A função "menu" imprime as opções do sistema
*/
void menu();

/* Responsável pela função: Gustavo Soares
   Chama os "DBs" necessários para exibir
   detalhes sobre salas que foram reservadas
*/
void relatorio();

/* Responsável pela função: <NAME>
   Verifica o tipo de operação desejada
   (cadastro de salas/docentes) e solicita
   ao usuário as info. necessárias e chama
   o DB correspondente ao tipo do parâmetro.
*/
void cadastrar(int op);

/* Responsável pela função: <NAME>
   Cadastra uma sala armazenando-a em um arquivo
   txt
*/
int dbSala(TipoSala sala);

/* Responsável pela função: <NAME>
   Cadastra um docente armazenando-o em um arquivo
   dat
*/
int dbDocente(Docentes docente);

/* Responsável pela função: <NAME>
   Cadastra uma reserva armazenando-a em um arquivo
   dat
*/
int dbReserva(Reserva reserva);

/* Responsável pela função: Alan Pires
   Chama um arquivo txt que contém
   info sobre as datas e horários em que
   as salas estão cadastradas
*/

void consultaReser(int op_res);

/* Responsável pela função: <NAME>
   A função pede as info necessárias para
   cadastrar uma reserva
*/
void reserva();

/*  Responsável pela função: Alan Pires
    A função recebe um texto como parâmetro
    e pede ao usuário que digite algo referente
    ao texto que foi recebido pela função
*/

int verificaMES(int mes, int dia);

int bissexto(int ano);

char* entrada_char(char *texto);

/*
    Responsavel pela função: <NAME>
    Caso o número e o bloco da sala informado ja esteja no
    arquivo texto a funcao retorna 0 para informar
    a duplicidade da informação
*/
int registro_duplicado_sala(int numSala, char bloco);
{'fraction_non_alphanumeric': 0.07480635955972278, 'fraction_numerical': 0.0028536485935589076, 'mean_word_length': 3.3930170098478065, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4190021', 'n_tokens_mistral': 1841, 'n_tokens_neox': 1772, 'n_words': 644}