commit 63571536a9d908b8c55f55d069633f7906bcee33
parent 7906cb27367f07cf8934505ab0f76f8c7ea3e1df
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date: Wed, 19 Jun 2024 22:20:13 -0300
error checking and variable initialization
Diffstat:
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/barrio.cpp b/barrio.cpp
@@ -38,7 +38,6 @@ double Barrio::getDistancia(double x1,double y1,double x2,double y2){ //CONSIGAN
return std::sqrt(dX*dX + dY*dY);
}
-
Parada *Barrio::paradaMasCercana(double coordX, double coordY) { //CONSIGNA 2
this->paradas->startCursor();
Parada * resultado = NULL;
@@ -72,29 +71,35 @@ bool Barrio::lineaEnParada(int linea, std::vector<int> *listaDeLineas ) { //CONS
return true;
}
}
+
return false;
}
List<Parada*> *Barrio::listaDeParadasPorLinea(int linea) { //CONSIGNA 3
+ Parada *paradaActual;
+ List<Parada*> *resultado;
std::vector<int> *listaDeLineas;
+ resultado = new List<Parada *>;
+
this->paradas->startCursor();
while(this->paradas->forwardCursor()){
- Parada *paradaActual = this->paradas->getCursorData();
+ paradaActual = this->paradas->getCursorData();
listaDeLineas = paradaActual->getLineas();
- if(lineaEnParada(linea, listaDeLineas)){
+ if(lineaEnParada(linea, listaDeLineas)) {
resultado->insert(paradaActual);
}
}
- return resultado;
+ return resultado->getSize() == 0 ? NULL : resultado;
}
unsigned int Barrio::getCantidadDeParadasPorLinea(int linea) { //CONSIGNA 4
- List<Parada*> *auxiliar = listaDeParadasPorLinea(linea);
- return auxiliar->getSize();
+ List<Parada*> *resultado = listaDeParadasPorLinea(linea);
+
+ return resultado == NULL ? 0 : resultado->getSize();
}
Barrio::~Barrio() {