CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
commit bd9aa8dc12098aaed7ff32395cbff2b9bc6e3242
parent 2b308ce29e42939c13f67787eb0496976b0e974d
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Sun, 23 Jun 2024 17:24:56 -0300

use `getDistanciaEnKilometros` para comparar la distancia entre dos
paradas

Diffstat:
Mmenu.cpp | 16+++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/menu.cpp b/menu.cpp
@@ -308,20 +308,22 @@ void ordenarParadasPorDistanciaACoordenada(List<Parada*> *paradas, double x, dou
     Node<Parada*> *actual, *min, *sig;
     Parada *tmp;
 
-    double distActual, distSig;
+    double distMin, distSig;
 
     paradas->startCursor();
     while(paradas->forwardCursor()) {
         actual = paradas->getCursor();
         min = actual;
-        sig = actual->getNext();
 
-        distActual = getDistancia(actual->getData()->getCoordX(), actual->getData()->getCoordY(), x, y);
+        distMin = getDistanciaEnKilometros(min->getData()->getCoordX(), min->getData()->getCoordY(), x, y);
 
+        sig = actual->getNext();
         while (sig != NULL) {
-            distSig = getDistancia(sig->getData()->getCoordX(), sig->getData()->getCoordY(), x, y);
-            if (distSig < distActual) {
+            distSig = getDistanciaEnKilometros(sig->getData()->getCoordX(), sig->getData()->getCoordY(), x, y);
+
+            if (distSig < distMin) {
                 min = sig;
+                distMin = distSig;
             }
             sig = sig->getNext();
         }
@@ -427,7 +429,7 @@ void Menu::cargarDatos() {
 
 void Menu::mostrarMenu() {
     bool terminarPrograma = false;
-    int linea;
+    unsigned int linea;
     double lat, lon; // lat -> Y; lon -> X;
     double distanciaEnKm;
 
@@ -615,7 +617,7 @@ void Menu::mostrarMenu() {
                 paradasDeLaLinea->startCursor();
                 while(paradasDeLaLinea->forwardCursor()) {
                     actual = paradasDeLaLinea->getCursorData();
-                    distanciaEnKm = getDistanciaEnKilometros(lon, lat, actual->getCoordX(), actual->getCoordY());
+                    distanciaEnKm = getDistanciaEnKilometros(lon, lat, actual->getCoordY(), actual->getCoordX());
 
                     std::string coord;
                     coord += actual->getCoordX();