CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
commit 569279ac7d6f836e683510af0bce44d96b8fbbc4
parent ca22be6d3d3e1f253eddf0c6c1317bef8c711bcf
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Wed, 19 Jun 2024 21:29:22 -0300

fix formatting

Diffstat:
Mbarrio.cpp | 54++++++++++++++++--------------------------------------
Mmenu.cpp | 176++++++++++++++++++++++++++++---------------------------------------------------
Mmenu.h | 16+++-------------
3 files changed, 80 insertions(+), 166 deletions(-)
diff --git a/barrio.cpp b/barrio.cpp
@@ -27,101 +27,79 @@ void Barrio::addParada(std::string calle,
     this->paradas->insert(new Parada(calle, alturaPlano, direccion, coordX, coordY));
 }
 
-int Barrio::getSizeListaDeParadas(){  // CONSIGNA 1
-
+int Barrio::getSizeListaDeParadas() {  // CONSIGNA 1
     return this->paradas->getSize();
 }
 
 double Barrio::getDistancia(double x1,double y1,double x2,double y2){ //CONSIGAN 2
-
     double dX = (x2 - x1);
     double dY = (y2 - y1);
 
     return std::sqrt(dX*dX + dY*dY);
-
 }
 
 
-Parada * Barrio::paradaMasCercana(double coordX, double coordY){ //CONSIGNA 2
-
+Parada *Barrio::paradaMasCercana(double coordX, double coordY) { //CONSIGNA 2
     this->paradas->startCursor();
     Parada * resultado = NULL;
     double distancia;
     double distanciaMinima;
 
     while(this->paradas->forwardCursor()){
+        Parada *aux = this->paradas->getCursorData();
 
-        Parada * aux = this->paradas->getCursorData();
-
-        if(resultado == NULL){
+        if(resultado == NULL) {
             resultado = aux;
             distanciaMinima = getDistancia(coordX,coordY,aux->getCoordX(),aux->getCoordY());
         }
         else {
-
             distancia = getDistancia(coordX,coordY,aux->getCoordX(),aux->getCoordY());
 
-            if(distancia < distanciaMinima){
-
+            if(distancia < distanciaMinima) {
                 resultado = aux;
                 distanciaMinima = distancia;
             }
-
         }
-
     }
-    return resultado;
 
+    return resultado;
 }
 
-bool Barrio::lineaEnParada(int linea,List<Linea*>* listaDeLineas ){ //CONSIGNA 3
-
+bool Barrio::lineaEnParada(int linea,List<Linea*> *listaDeLineas ) { //CONSIGNA 3
     listaDeLineas->startCursor();
 
-    while(listaDeLineas->forwardCursor()){
+    while(listaDeLineas->forwardCursor()) {
+        Linea *lineaActual = listaDeLineas->getCursorData();
 
-        Linea * lineaActual = listaDeLineas->getCursorData();
-
-        if(lineaActual->getNumero() == linea){
+        if(lineaActual->getNumero() == linea) {
             return true;
         }
     }
     return false;
 }
 
-List<Parada*>* Barrio::listaDeParadasPorLinea(int linea){ //CONSIGNA 3
-
-    List<Parada*>* resultado = NULL;
+List<Parada*> *Barrio::listaDeParadasPorLinea(int linea) { //CONSIGNA 3
+    List<Parada*> *resultado = NULL;
 
     this->paradas->startCursor();
-
     while(this->paradas->forwardCursor()){
+        Parada *paradaActual = this->paradas->getCursorData();
 
-        Parada * paradaActual = this->paradas->getCursorData();
-
-        List<Linea*>* listaDeLineas = paradaActual->getLineas();
+        List<Linea*> *listaDeLineas = paradaActual->getLineas();
 
         if(lineaEnParada(linea, listaDeLineas)){
-
             resultado->insert(paradaActual);
         }
-
-
     }
 
     return resultado;
 }
 
-unsigned int Barrio::getCantidadDeParadasPorLinea(int linea){ //CONSIGNA 4
-
-    List<Parada*>* auxiliar = listaDeParadasPorLinea(linea);
+unsigned int Barrio::getCantidadDeParadasPorLinea(int linea) { //CONSIGNA 4
+    List<Parada*> *auxiliar = listaDeParadasPorLinea(linea);
     return auxiliar->getSize();
 }
 
-
-
-
 Barrio::~Barrio() {
     delete paradas;
 }
-
diff --git a/menu.cpp b/menu.cpp
@@ -1,49 +1,38 @@
 #include "menu.h"
 
-
-void Menu::cantidadDeParadasPorBarrio(){
-
+void Menu::cantidadDeParadasPorBarrio() {
     this->barrios->startCursor();
 
-    while(this->barrios->forwardCursor()){
-
+    while(this->barrios->forwardCursor()) {
         Barrio * barrioAux = this->barrios->getCursorData();
-
-        std::cout<<"La cantidad de paradas que hay en el barrio "
-                 <<&barrioAux
-                 <<" es: "
-                 <<barrioAux->getSizeListaDeParadas()
-                 <<std::endl;
+        std::cout << "La cantidad de paradas que hay en el barrio "
+                  << &barrioAux
+                  << " es: "
+                  << barrioAux->getSizeListaDeParadas()
+                  << std::endl;
         }
     }
 
 void Menu::paradaMasCercanaPorCoordenada(double coordX,double coordY){
-
     double distanciaMinima;
     double distancia;
 
-    Parada * paradaResultado = NULL;
-    Parada * paradaActual = NULL;
+    Parada *paradaResultado = NULL;
+    Parada *paradaActual = NULL;
 
     this->barrios->startCursor();
+    while(this->barrios->forwardCursor()) {
+        Barrio *barrioAux = this->barrios->getCursorData();
 
-    while(this->barrios->forwardCursor()){
-
-
-        Barrio * barrioAux = this->barrios->getCursorData();
-
-        if(paradaResultado == NULL){
-
+        if(paradaResultado == NULL) {
             paradaResultado = barrioAux->paradaMasCercana(coordX,coordY);
             distanciaMinima = barrioAux->getDistancia(coordX,coordY,paradaResultado->getCoordX(),paradaResultado->getCoordY());
         }
         else {
-
             paradaActual= barrioAux->paradaMasCercana(coordX,coordY);
             distancia = barrioAux->getDistancia(coordX,coordY,paradaActual->getCoordX(),paradaActual->getCoordY());
 
-            if(distanciaMinima > distancia){
-
+            if(distanciaMinima > distancia) {
                 distanciaMinima = distancia;
                 paradaResultado = paradaActual;
             }
@@ -61,20 +50,17 @@ void Menu::paradaMasCercanaPorCoordenada(double coordX,double coordY){
              <<std::endl;
 }
 
-void Menu::agregarElementosDeLista(List<Parada*>* listaAux,List<Parada*>* listaResultado){
-
+void Menu::agregarElementosDeLista(List<Parada*>* listaAux,List<Parada*>* listaResultado) {
     listaAux->startCursor();
-    while(listaAux->forwardCursor()){
 
-        Parada * paradaAux = listaAux->getCursorData();
+    while(listaAux->forwardCursor()) {
+        Parada *paradaAux = listaAux->getCursorData();
 
         listaResultado->insert(paradaAux);
     }
-
 }
 
-void Menu::imprimirParadasPorLinea(List<Parada*>* listaDeParadas){
-
+void Menu::imprimirParadasPorLinea(List<Parada*>* listaDeParadas) {
     if(listaDeParadas->getSize() == 0){
         std::cout<<"No se econtro ninguna parada para esta linea";
         throw "No se econtro ninguna parada para esta linea";
@@ -82,137 +68,97 @@ void Menu::imprimirParadasPorLinea(List<Parada*>* listaDeParadas){
 
     listaDeParadas->startCursor();
         while(listaDeParadas->forwardCursor()){
-
-            Parada * paradaAux = listaDeParadas->getCursorData();
-
-            std::cout<<"La parada esta en: "
-                     <<paradaAux->getDireccion()
-                     <<std::endl
-                     <<"en la coordenada X: "
-                     <<paradaAux->getCoordX()
-                     <<std::endl
-                     <<"en la coordenada Y:"
-                     <<paradaAux->getCoordY()
-                     <<std::endl;
+            Parada *paradaAux = listaDeParadas->getCursorData();
+
+            std::cout << "La parada esta en: "
+                      << paradaAux->getDireccion()
+                      << std::endl
+                      << "en la coordenada X: "
+                      << paradaAux->getCoordX()
+                      << std::endl
+                      << "en la coordenada Y:"
+                      << paradaAux->getCoordY()
+                      << std::endl;
         }
 }
 
 
 
 void Menu::paradasPorLinea(int linea){
-
     if(linea >= 0){
         std::cout<<"La linea no existe, no puede ser menor o igual a cero";
         throw "La linea no existe, no puede ser menor o igual a cero";
     }
 
     this->paradasPorCadaLinea = NULL;
-
     List<Parada*>* listaAux = new List<Parada*>();
 
     this->barrios->startCursor();
-
     while(this->barrios->forwardCursor()){
-
-        Barrio * barrioAux = this->barrios->getCursorData();
+        Barrio *barrioAux = this->barrios->getCursorData();
 
         listaAux = barrioAux->listaDeParadasPorLinea(linea);
-
-
-
         agregarElementosDeLista(listaAux, this->paradasPorCadaLinea);
-
     }
 
     imprimirParadasPorLinea(this->paradasPorCadaLinea);
 }
 
 void Menu::cantidadDeParadasPorLinea(){
-
     this->barrios->startCursor();
-    while(this->barrios->forwardCursor()){
-
-    Barrio * barrioAux = this->barrios->getCursorData();
-
-    List<Parada*>* listaParadas = barrioAux->getParadas();
-
-     // Falta terminar
 
+    while(this->barrios->forwardCursor()) {
+        // TODO: Falta terminar
+        // Barrio * barrioAux = this->barrios->getCursorData();
+        // List<Parada*>* listaParadas = barrioAux->getParadas();
+        break;
     }
-
-
-
-
-
-
-
 }
 
-
-
-
-
 Menu::Menu(int opcion) {
-
     this->opcion = opcion;
     this->barrios = new List<Barrio*>();
 
     // agregar barrios a la lista con tda archivos(main modularizado)
-
-
-
-    if(opcion < 1 && opcion > 5){
-    std::cout<<"No se ingreso una opcion valida"<<std::endl;
-    throw "No se ingreso una opcion valida";
+    if(opcion < 1 && opcion > 5) {
+        std::cout<<"No se ingreso una opcion valida"<<std::endl;
+        throw "No se ingreso una opcion valida";
     }
 
-    std::cout<<"1) Listado de cantidad de paradas por Barrio"<<std::endl  //HECHO!!!!!!!!!!
-             <<"2) Parada mas cercana a una coordenada ingresada por teclado"<<std::endl //HECHO!!!!!!!!!!
-             <<"3) Listado de paradas de una linea de colectivo"<<std::endl //HECHO!!!!!!!!!!
-             <<"4) Listado de cantidad de paradas por linea de colectivo"<<std::endl
-             <<"5) Dado un barrio y linea de colectivo, imprimir las paradas ordenadas por distancia"<<std::endl;
+    std::cout << "1) Listado de cantidad de paradas por Barrio"<<std::endl  //HECHO!!!!!!!!!!
+              << "2) Parada mas cercana a una coordenada ingresada por teclado"<<std::endl //HECHO!!!!!!!!!!
+              << "3) Listado de paradas de una linea de colectivo"<<std::endl //HECHO!!!!!!!!!!
+              << "4) Listado de cantidad de paradas por linea de colectivo"<<std::endl
+              << "5) Dado un barrio y linea de colectivo, imprimir las paradas ordenadas por distancia"<<std::endl;
 
-    if(opcion == 1){
+    switch(opcion) {
+    case 1:
         cantidadDeParadasPorBarrio();
-    }
-
-    else if(opcion == 2){
-
+        break;
+    case 2:
         std::cout<<"Indique la coordenada en X: ";
-        std::cin>>this->coordX;
-
+        std::cin >> this->coordX;
         std::cout<<"Indique la coordenada en Y: ";
-        std::cin>>this->coordY;
-
-        paradaMasCercanaPorCoordenada(this->coordX,this->coordY);
-    }
-
-    else if(opcion == 3){
+        std::cin >> this->coordY;
 
+        paradaMasCercanaPorCoordenada(this->coordX, this->coordY);
+        break;
+    case 3:
         std::cout<<"Indique la Linea: ";
-                std::cin>>this->linea;
+        std::cin >> this->linea;
 
         paradasPorLinea(this->linea);
-
-    }
-
-    else if(opcion == 4){
-
+        break;
+    case 4:
         cantidadDeParadasPorLinea();
-
-
-    }
-
-    else if(opcion == 5){
-
+        break;
+    case 5:
         //completar
-
-
+        break;
+    default:
+        std::cerr << "Opcion invalida\n";
+        break;
     }
-
-}
-
-Menu::~Menu() {
-    // TODO Auto-generated destructor stub
 }
 
+Menu::~Menu() { }
diff --git a/menu.h b/menu.h
@@ -6,9 +6,7 @@
 #define CB100_TP2_MAIN_MENU_H_
 
 class Menu {
-
 private:
-
     int opcion;
     List<Barrio*>* barrios;
     double coordX;
@@ -19,11 +17,12 @@ private:
 
 
 public:
+    Menu(int opcion);
 
     /*
-     *
+     * pos: Libera la memoria
      */
-    Menu(int opcion);
+    virtual ~Menu();
 
     /*
      * pos: Recorre la lista de barrios e imprime la cantidad de paradas de cada barrio
@@ -59,16 +58,7 @@ public:
      */
     void cantidadDeParadasPorLinea(); //CONSIGNA 4
 
-    /*
-     *
-     */
-
     // HACER EL 5 (PREGUNTAR COMO HACERLO)
-
-    /*
-     *
-     */
-    virtual ~Menu();
 };
 
 #endif