-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRegistro.cpp
93 lines (77 loc) · 2.12 KB
/
Registro.cpp
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
#include "Registro.h"
using namespace std;
Registro::Registro(std::vector<Campo> campos){
unsigned int pos = 0;
Campo campo = campos[pos];
while( campo.getNombre() != "" && pos<= (unsigned int)campos.size()-1){
this->campos.push_back(campo);
pos++;
if(pos <= (unsigned int)campos.size()-1){
campo = campos[pos];
}
}
this->numCampos = pos;
}
void Registro::cambiarEstado(char estado){
this->estado = estado;
}
Campo Registro::getCampo(std::string nombre){
bool encontrado = false;
int pos = 0;
Campo campo = campos[pos];
if(campo.getNombre() == nombre)
encontrado = true;
while (pos <= this->numCampos && !encontrado){
if (campo.getNombre() == nombre )
encontrado = true;
else{
pos++;
if (pos <= this->numCampos)
campo = this->campos[pos];
}
}
return campo;
}
Campo Registro::getCampo(int indice){
Campo campo;
if(indice <= this->numCampos) campo = campos[indice];
return campo;
}
std::vector<int> Registro::getCampos(){
vector<int> v;
for(unsigned int i=0;i<campos.size();i++) {
v.push_back(campos[i].getValor());
}
return v;
}
unsigned int Registro::getNumCampos(){
return this->numCampos;
}
unsigned int Registro::getSizeCampos(){
unsigned int size=0;
for(unsigned int i=0; i< this->campos.size(); i++)
size += sizeof(campos[i].getValor());
return size + sizeof(this->estado);
}
char Registro::getEstado() {
return this->estado;
}
void Registro::setValorCampo(std::string nombre, int valor){
bool encontrado = false;
int pos = 0;
Campo campo = campos[pos];
if(campo.getNombre() == nombre)
encontrado = true;
while (pos <= this->numCampos && !encontrado){
if (campo.getNombre() == nombre )
encontrado = true;
else{
pos++;
if (pos <= this->numCampos)
campo = this->campos[pos];
}
}
campos[pos].setValor(valor);
}
Registro::~Registro(){
}