-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproj1.h
More file actions
66 lines (55 loc) · 2.46 KB
/
Copy pathproj1.h
File metadata and controls
66 lines (55 loc) · 2.46 KB
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
/*
file: proj1.h
autor: Susana Monteiro, 92560
descricao: sistema de reserva de salas
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXCHAR 64 /* numero maximo de caracteres da descricao, responsavel e participantes */
#define RESPONSAVEL 1 /* numero de responsaveis por evento */
#define MAXPARTICIPANTES 3 /* numero maximo de participantes */
#define MINPARTICIPANTES 1 /* numero minimo de participantes */
#define SALAS 10 /* numero maximo de salas */
#define MAXPORSALA 100 /* numero maximo de eventos por sala */
#define MAXBUFFER 500 /* espaco suficiente para o input dado a funcao adiciona_evento */
#define SEPARADOR ":" /* caracter que separa as informacoes */
#define ORIGEMTEMPO 2019 /* toma-se 2019 como o ano 0 */
#define NUL '\0' /* null character */
#define SUCESSO 1
#define INSUCESSO 0
typedef struct {
/* informacoes acerca do evento que explicitadas na funcao a */
char descricao[MAXCHAR];
int dia;
int tempo;
int duracao;
int sala;
char responsavel[MAXCHAR];
char participantes[MAXPARTICIPANTES][MAXCHAR];
/* valores extra que sao usados ao longo do programa, de modo a facilitar algumas funcoes */
char pessoas[MAXPARTICIPANTES + 1][MAXCHAR]; /* responsavel + participantes do evento */
int n_participantes; /* numero de participantes do respetivo evento */
int inicio; /* inicio do evento em minutos */
int fim; /* fim do evento em minutos*/
int data; /* dia e tempo do evento no formato ammddhhmm -> toma-se 2019 como ano 0,
visto que nenhum evento pode ser agendado para uma data anterior a 2019 */
} Evento;
/* funcoes principais */
void adiciona_evento();
void lista_todos_eventos();
void lista_eventos_sala();
void apaga_evento();
void altera_hora();
void altera_duracao();
void muda_sala();
void adiciona_participante();
void remove_participante();
/* funcoes auxiliares */
Evento cria_evento();
int incompatibilidade_sala(Evento e);
int incompatibilidade_pessoas(Evento e);
int incompatibilidade_participante(Evento e, char participante[MAXCHAR]);
int eventos_sobrepostos(Evento e1, Evento e2);
int compare();
int procura_evento(char descricao[MAXCHAR], int *sala_coordenada, int *evento_coordenada);