]> git.llucax.com Git - z.facultad/75.29/susanita.git/blobdiff - src/parser.cpp
Eliminar pregunta-comentario que ya esta resuelto.
[z.facultad/75.29/susanita.git] / src / parser.cpp
index 2d8ae559d6337b2ae8702d0745e7f4479405e85c..b5fccb43edb77676ac3b5906b9f59e3cbaba34ef 100644 (file)
@@ -76,6 +76,10 @@ input(const std::string& filename)
                while (ss)
                {
                        std::string nombre = get_hasta(ss, ',');
+                       nombre = strip(nombre);
+                       if (nombre.empty()) {
+                               continue;
+                       }
                        Persona* ppp = susanita.get_persona(nombre);
                        if (!ppp)
                        {
@@ -111,3 +115,27 @@ output() const
        }
 }
 
+/// Hack medio feo para obtener el N del problema
+Susanita::size_type
+Parser::
+get_n(const std::string& filename)
+{
+       std::ifstream f(filename.c_str());
+       if (!f)
+               return 0;
+       std::string l;
+       if (!std::getline(f, l))
+               return 0;
+       std::istringstream ss(strip(l));
+       // descartamos el nombre
+       get_hasta(ss, ':');
+       // contamos personas en la lista
+       Susanita::size_type count = 0;
+       while (ss)
+       {
+               if (!strip(get_hasta(ss, ',')).empty())
+                       ++count;
+       }
+       return count;
+}
+