-
Notifications
You must be signed in to change notification settings - Fork 3
/
quarto.h
160 lines (111 loc) · 4.61 KB
/
quarto.h
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
//-----------------------------------------------------------------------
// PRE-CADASTRO - teste de outras estruturas
//typedef struct tipo_paciente {char codigo[3];char nome[40];} Tipopaciente;
typedef struct tipo_medico {char codigo[3];char nome[40];} Medico;
//--------
// CADASTRO QUARTO, LEITO E POSTO ENFERMAGEM
typedef struct tipo_leitoQ {char codigo[3];} LeitoQ;
typedef struct tipo_PostoEnfermagem {char codigo[3];} PostoEnfermagem;
#define maxQuartos 300
#define maxQuartosAndar 50
#include "paciente.c"
typedef struct {
char codigo[4]; // erro professor tinha dito tam3, mas o tamanho maximo é '300\0'
char situacao[1]; // 1- livre, 2-ocupado
struct Paciente *paciente;
Medico *medico;
LeitoQ *leitoQ;
char andar[1];
PostoEnfermagem *postoEnfermagem;
} Quarto;
typedef struct lista_quartos{
int tam;
int primeiro;
int fim;
Quarto quartos[maxQuartos];
} lista_quartos;
// tipo no
typedef struct no{
Quarto* conteudo; /* conteúdo: ponteiro pro quarto */
struct no* esq;
struct no* dir;
} tNo;
//-----------------------------------------------------------------------
/*
** Cabeçalhos das funções implementadas no módulo quarto.c ,
** que servem para controlar as funcionalidades da estrutura quarto
*/
// ***********************************************
// Inicializar lista de quartos
// ***********************************************
lista_quartos* inicializarQuartos();
// ***********************************************
// Verificar lista de quartos vazia
// ***********************************************
bool verificarQuartosListaVazia(lista_quartos* lquartos);
// ***********************************************
// Verificar lista de quartos cheia
// ***********************************************
bool verificarQuartosListaCheia(lista_quartos* lquartos);
// ***********************************************
// Inserir quarto na lista
// ***********************************************
bool inserirQuarto(lista_quartos* quartos, int andar);
// ***********************************************
// Criar todos os quartos na lista
// ***********************************************
bool criarQuartos(lista_quartos* lquartos);
// ***********************************************
// Buscar quarto
// ***********************************************
Quarto* buscarQuarto(lista_quartos* lquartos, char* codigo);
// ***********************************************
// Remover quarto na lista (sem reordenacao)
// ***********************************************
bool removerQuarto(lista_quartos* lquartos, char* codigo);
// ***********************************************
// Imprimir quarto
// ***********************************************
void imprimirQuarto(Quarto* q);
// ***********************************************
// Buscar e listar quarto
// ***********************************************
bool listarQuarto(lista_quartos* lquartos, char* codigo);
// ***********************************************
// Listar todos os quartos
// ***********************************************
bool listarQuartos(lista_quartos* lquartos);
// ***********************************************
// 9- Internar em quarto
// ***********************************************
bool internarPacienteQuarto(lista_quartos* lquartos, Tipopaciente* paciente, Medico* medico);
// ***********************************************
// 11- Dar alta de paciente em quarto
// ***********************************************
bool darAltaPacienteQuarto(lista_quartos* lquartos, Tipopaciente* paciente);
// ***********************************************
// Inicializar arvore binária de quartos
// ***********************************************
tNo* inicializarArvoreBQuartos();
// ***********************************************
// Inserir em arvore binária de quartos
// ***********************************************
bool inserirArvoreBQuartos(tNo* arv, Quarto* q);
// ***********************************************
// Gerar arvore binária de quartos
// ***********************************************
bool gerarArvoreBQuartos(tNo* arv,lista_quartos* lquartos);
// ***********************************************
// Imprimir arvore binária de quartos
// ***********************************************
bool imprimirArvoreBQuartos(tNo* arv);
// ***********************************************
// Carregar arquivo quarto.txt
// ***********************************************
bool carregarFileQuarto();
// ***********************************************
// Persistir arquivo quarto.txt
// ***********************************************
bool persistirFileQuarto();
// ***********************************************
// ***********************************************