CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
tps/2/barrio.h (1681B)
   1 #ifndef BARRIO_H_
   2 #define BARRIO_H_
   3 
   4 #include <string>
   5 #include <vector>
   6 
   7 #include "list.h"
   8 #include "parada.h"
   9 
  10 class Barrio {
  11 private:
  12     std::string nombre;
  13     List<Parada*> *paradas;
  14 
  15 public:
  16     /*
  17      *pos: deja creado la clase con los parametros dados
  18      */
  19     Barrio(std::string nombre);
  20 
  21     /*
  22      * pos: libera la memoria
  23      */
  24     virtual ~Barrio();
  25 
  26     /*
  27      * pos: devuelve la distancia entre la coordenadas dadas
  28      */
  29     double getDistancia(double x1, double y1, double x2, double y2);
  30 
  31     /*
  32      * pre: `listaDeLineas` es un vector no nulo
  33      * pos: devuelve `true` si la linea se encuentra en listaDeLineas, sino devuelve False
  34      */
  35     bool lineaEnParada(int linea, std::vector<int> *listaDeLineas);
  36 
  37     /*
  38      * pos: devuelve el nombre del Barrio
  39      */
  40     std::string getNombre();
  41 
  42     /*
  43      * pos: devuelve una lista con todos las paradas de ese Barrio
  44      */
  45     List<Parada*> *getParadas();
  46 
  47     /*
  48      * pos: agrega una para nueva
  49      */
  50     void addParada(std::string calle, std::string direccion,
  51             double coordX, double coordY, std::vector<int> lineas);
  52 
  53     /*
  54      * pos: devuelve el numero total de paradas que hay en el barrio
  55      */
  56     int getSizeListaDeParadas(); //CONSIGNA 1
  57 
  58     /*
  59      * pos: devuelve la parada mas cercana a una coordenada dada
  60      */
  61     Parada *paradaMasCercana(double coordX, double coordY);
  62 
  63     /*
  64      * pre: recibe el numero de una Linea
  65      * pos: devuelve una lista con todas las paradas del numero dado en caso de
  66      *      que la linea no posea paradas devuelve NULL
  67      */
  68     List<Parada*> *listaDeParadasPorLinea(int linea);
  69 
  70     /*
  71      * pre: recibe el numero de una linea
  72      * pos: devuelve la cantidad de paradas por linea
  73      */
  74     unsigned int getCantidadDeParadasPorLinea(int linea);
  75 };
  76 
  77 #endif /* BARRIO_H_ */