]> git.llucax.com Git - z.facultad/75.68/celdas.git/blobdiff - trunk/src/indicemagico.h
Se mejora lectura del sensor y se elimina variable sin demasiada utilidad.
[z.facultad/75.68/celdas.git] / trunk / src / indicemagico.h
index f5a4ac22a6b02ad888f4a33f29b018e6fed3fd1b..4c3396e6769dc9ef179b9dd4fae9ae9507744d52 100644 (file)
@@ -8,6 +8,7 @@
 
 
 #include <string>
+#include <map>
 #include <iostream>
 
 
@@ -22,18 +23,16 @@ public:
 public:
        CIndiceMagico() 
        { 
-               using std::cerr;
-               using std::endl;
                m_cant = 0 ; 
                m_nombres = (std::string*)calloc(sizeof(std::string), MAX_ELEMENTOS) ;
                m_datos = (T*)calloc(sizeof(m_datos), MAX_ELEMENTOS) ;
 
 
                if (!m_nombres)
-                       cerr << "No se pudo allocar el arreglo CIndiceMagico::m_nombres." << endl ;
+                       std::cerr << "No se pudo allocar el arreglo CIndiceMagico::m_nombres.\n";
 
                if (!m_datos)
-                       cerr << "No se pudo allocar el arreglo CIndiceMagico::m_datos." << endl ;
+                       std::cerr << "No se pudo allocar el arreglo CIndiceMagico::m_datos.\n";
 
        }
 
@@ -52,14 +51,14 @@ public:
 
        void add(CIndiceMagico<T>& indice)
        {
-               for (int i=0; i<indice.m_cant; i++)
-                       add(indice.m_nombres[i], indice.m_datos[i]) ;
+               for (unsigned i=0; i<indice.m_cant; i++)
+                       add(indice.m_nombres[i].c_str(), indice.m_datos[i]) ;
        }
 
 
        bool exist(const char* nombre)
        {
-               for (int i=0; i<m_cant; i++)
+               for (unsigned i=0; i<m_cant; i++)
                        if (m_nombres[i]==nombre)
                                return true ;
 
@@ -70,7 +69,7 @@ public:
        //POS: Retorna el elemento.
        T& find(const char* nombre)
        {
-               int i;
+               unsigned i;
                for (i=0; i<m_cant && m_nombres[i]!=nombre; i++) ;
                return m_datos[i] ;
        }
@@ -78,7 +77,7 @@ public:
 
        void set_val(const std::string nombre, T valor)
        {
-               for (int i=0; i<m_cant; i++)
+               for (unsigned i=0; i<m_cant; i++)
                        if (m_datos[i]!=valor)
                                m_datos[i] ;
        }
@@ -91,7 +90,7 @@ public:
 
        void remove(const unsigned long index)
        {
-               for (int i=index+1; i<m_cant; i++)
+               for (unsigned i=index+1u; i<m_cant; i++)
                {
                        m_nombres[i-1] = m_nombres[i] ; 
                        m_datos[i-1] = m_datos[i] ; 
@@ -103,7 +102,7 @@ public:
        void remove(const char* nombre)
        {
                bool exito = false ;
-               int i;
+               unsigned i;
 
                for (i=0; !exito && i<m_cant; i++)
                        exito = m_nombres[i]==nombre ;