]> git.llucax.com Git - z.facultad/75.29/susanita.git/blobdiff - src/parser.cpp
Agrega gráficos de orden y otras correcciones mínimas al informe.
[z.facultad/75.29/susanita.git] / src / parser.cpp
index b5fccb43edb77676ac3b5906b9f59e3cbaba34ef..c4453ccdc074fec79b8df1ee5aa5fa50d8a7db67 100644 (file)
@@ -50,6 +50,9 @@ input(const std::string& filename)
                return false;
        Persona::sexo_type sexo = Persona::M;
        Persona::sexo_type opuesto = Persona::F;
                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))
        {
        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)
                {
                Persona* pp = susanita.get_persona(nombre);
                if (!pp)
                {
-                       pp = new Persona(nombre, sexo);
+                       pp = new Persona(nombre, sexo, cap);
                        susanita.add_persona(pp);
                }
 
                        susanita.add_persona(pp);
                }
 
-               Persona::prefs_type prefs;
+               int count = 0;
                while (ss)
                {
                        std::string nombre = get_hasta(ss, ',');
                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)
                        {
                        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);
                                susanita.add_persona(ppp);
                        }
                        pp->prefs.push_back(ppp);
+                       pp->prefs_hash[ppp->nombre] = count;
+                       count++;
                }
        }
        return true;
                }
        }
        return true;