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
criar_base(Base* base, int n) {
# Voce deve fazer os campos da estrutura base passada como argumento
# receber os valores necessários
base->armazenado recebe 0
base->capacidade recebe n
base->registros recebe a alocação de um vetor de n registros
printf("Base criada.\n");
return;
}
buscar(Base* base, int ra) {
# Percorre o vetor de registros que foi alocado por você na estrutura
# base, verificando se registro->ra é igaul a ra, se sim, retorna a posi
# ção daquele registro no vetor de registro daquela base
loop de 0 até base->armazenado{
se (base->registro[atual])->ra for igual ao ra{
retorna posição atual;
}
}
return -1;
}
imprimir(Base* base, int ra) {
faz a busca para saber se existe o registro na base ou não;
se sim{
imprime
}se não{
printf("Aluno %d nao encontrado.\n", ra);
}
}
adicionar(Base* base, int ra, int telefone, char* nome) {
# Adiciona na ultima posição do vetor de registro da base OU adiciona
# na posição em que o RA possui um valor determinado pelo remover.
# Caso consiga adicionar, incrementar o número de registo na base!
# Ultima posiçao já existente : base->armazenado
# Ex de acesso ao telefone do registo k:
# (base->registro[k])->telefone
faz a busca para saber se existe o registro na base ou não;
se houver{
modifica o registro
imprime: Alterado: RA - TELEFONE - NOME\n
}se não{
verifica se é possivel adicionar mais um.
se não{
imprime Erro: base cheia.\n
}se sim{
procura o primeiro lugar para adicionar um novo registro**
adiciona um novo registro nessa posição
imprime Adicionado: RA - TELEFONE - NOME\n
}
}
return;
}
remover(Base* base, int ra) {
# Você deve remover o registro da base caso ele exista. Você deve sina-
# lizar de algum modo que foi removido. Sugiro colocar -1 no ra daquele
# registro, assim você usar a função busca com o valor -1 quando for
# procurar o primeiro lugar para adicionar um novo registro
# Não esqueça de decrementar o base->armazenado se necessário
faz a busca para saber se existe o registro na base ou não;
se sim{
remove aquele registro
imprime Aluno RA removido
}se não{
imprime Aluno RA nao encontrado.\n
}
return;
}
liberar_base(Base* base) {
# Deve ser liberado o vetor de registro
# e depois liberado a base
return;
}
cd Documents/lab15
). Quando estiver dentro do diretório, rode o seguinte código:
gcc lab15.c lab15_main.c -o lab15
./lab15
O testador é um script criado pelo professor Zanoni, disponível em sua página. Aqui é apenas um miniguia de como utilizar. Ele é muito bom pois já compila e testa seu código com os testes abertos do susy. Aconselho a usá-lo
cd Documentos/lab15
).chmod a+x testador.sh
./testador.sh mc102ij 15
” Em File você vai em New e lá tem a opção Projects, clicando em Projects você escolhe “empty project” clica em Go e depois escolhe um nome para o projeto (lab14) e clica em Finish. Vai aparecer na barra lateral o seu projeto, ai com o botão direito você vai em add files e coloca o arquivo das funções e da main ali. Ai clicando em cada um dá para editar e ele compila com a main. “