commit 569279ac7d6f836e683510af0bce44d96b8fbbc4
parent ca22be6d3d3e1f253eddf0c6c1317bef8c711bcf
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date: Wed, 19 Jun 2024 21:29:22 -0300
fix formatting
Diffstat:
| M | barrio.cpp | | | 54 | ++++++++++++++++-------------------------------------- |
| M | menu.cpp | | | 176 | ++++++++++++++++++++++++++++--------------------------------------------------- |
| M | menu.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