X-Git-Url: https://git.llucax.com/z.facultad/75.29/susanita.git/blobdiff_plain/dfd0218b2eec273821401b2715f177b7b2de7a22..3cf8caf3c30d7790d1467466ecd556b399cbb301:/src/parser.cpp?ds=sidebyside diff --git a/src/parser.cpp b/src/parser.cpp index b5fccb4..c4453cc 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -50,6 +50,9 @@ input(const std::string& filename) return false; Persona::sexo_type sexo = Persona::M; Persona::sexo_type opuesto = Persona::F; + + Susanita::size_type cap = get_n(filename); + std::string l; while (std::getline(f, l)) { @@ -68,11 +71,11 @@ input(const std::string& filename) Persona* pp = susanita.get_persona(nombre); if (!pp) { - pp = new Persona(nombre, sexo); + pp = new Persona(nombre, sexo, cap); susanita.add_persona(pp); } - Persona::prefs_type prefs; + int count = 0; while (ss) { std::string nombre = get_hasta(ss, ','); @@ -83,10 +86,12 @@ input(const std::string& filename) Persona* ppp = susanita.get_persona(nombre); if (!ppp) { - ppp = new Persona(nombre, opuesto); + ppp = new Persona(nombre, opuesto, cap); susanita.add_persona(ppp); } pp->prefs.push_back(ppp); + pp->prefs_hash[ppp->nombre] = count; + count++; } } return true;