]> git.llucax.com Git - z.facultad/75.52/treemulator.git/blobdiff - src/main.cpp
Exceptions
[z.facultad/75.52/treemulator.git] / src / main.cpp
index 553ea8c9cd0cab726208fc96be403de0305428d5..13d7c34d11227f79fca7510115fe5ca0e145a387 100644 (file)
@@ -34,8 +34,14 @@ int main  (int argc, char *argv[])
 
                double l = Random::Double (0.0f, 1.0f);
                std::cout << l << " >= " << paltas << std::endl;
-               if (l >= paltas) {
+               if (!km.Size() // si no tenemos claves agregadas, mejor que hagamos un alta
+                               || l >= paltas) {
                        tree.AddKey (c);
+                       try {
+                               tree.AddKey (c);
+                       } catch (Exception *e) {
+                               std::cout << e->Message () << std::endl;
+                       }
                        km.AddValue (*it);
                        it++;
                } else {
@@ -53,6 +59,8 @@ int main  (int argc, char *argv[])
 
        std::list <int> l = km.GetList ();
        it = l.begin ();
+       int bien = 0;
+       int mal = 0;
        while (it != l.end ()) {
                ClaveFija c(*it);
                BTreeFindResult *r;
@@ -60,12 +68,20 @@ int main  (int argc, char *argv[])
                r = tree.FindKey (c);
                if (r != NULL) {
                        std::cout << "** Clave " << (*it) << " encontrada.\n";
+                       bien++;
                        delete r;
-               } else 
+               } else {
                        std::cout << "** Clave " << (*it) << " NO encontrada.\n";
+                       mal++;
+               }
                it++;
        }
 
+       std::cout << "\n\n === Resultados ===\n";
+       std::cout << "    Hist  : " << bien << "\n";
+       std::cout << "    Miss  : " << mal << "\n";
+       std::cout << "    Total : " << (bien+mal) << "\n";
+
        return 0;
 }