void listarSegunEstado(ArrayList* vuelos) { int from=-1; int to=-1; ArrayList* aux; eVuelo* vuelo; char estado[20]; int i,j; if(vuelos!= NULL) { al_sort(vuelos,comparaEstadoVuelos,0); strcpy(estado,validarEstado()); for(i=0;i<vuelos->len(vuelos);i++) { vuelo=(eVuelo*)vuelos->get(vuelos,i); if(vuelo != NULL) { if(strcmp(vuelo->estado,estado) == 0) { from=i; break; } } } if(from != -1) { to=from; for(j=from+1;j<vuelos->len(vuelos);j++) { vuelo=(eVuelo*)vuelos->get(vuelos,j); if(vuelo != NULL) { if(strcmp(vuelo->estado,estado) == 0) { to=j; } else break; } } aux=vuelos->subList(vuelos,from,to); if(aux != NULL) { printArrayVuelos(aux,estado); al_deleteArrayList(aux); } } else printf("No hay aviones para el estado elegido\n"); } }
void listar(ArrayList* lista,ArrayList* listaDirec) { int i,j; ArrayList* listaOrdenada; listaOrdenada=al_clone(lista); al_sort(listaOrdenada,compareFilms,0); ePelicula* pAuxP; eDirector* pAuxD; for(i=0; i<lista->size; i++) { pAuxP=al_get(listaOrdenada,i); for(j=0; j<listaDirec->size; j++) { pAuxD=al_get(listaDirec,j); if(pAuxP->director==pAuxD->codDirec) { break; } } printf("\nTitulo de la pelicula: %s\nDirector de la pelicula: %s\nNacionalidad de la pelicula: %s\nPuntaje: %d/100\n",pAuxP->titulo,pAuxD->nombre,pAuxP->nacionalidad,pAuxP->puntaje); } al_deleteArrayList(listaOrdenada); }
/** \brief LISTAR: Realiza un solo listado de los comentarios (mostrando por pantalla el comentario y la cantidad de “Me gusta”) ordenados por los siguientes criterios: * Nombre de usuario (descendentemente) && Nick (ascendentemente). * \param usuarios: arraylist donde se guardan los usuarios * \param comentarios: arraylist donde se guardan los comentarios */ void listar(ArrayList *usuarios,ArrayList *comentarios) { ArrayList *cloneUsuarios; EComments *comentario; User *userAux; int i,j; cloneUsuarios=usuarios->clone(usuarios); al_sort(cloneUsuarios,compareUser,0); for(i=0; i<cloneUsuarios->size; i++) { userAux=al_get(cloneUsuarios,i); for(j=0; j<comentarios->size; j++) { comentario = (comentarios->get(comentarios,j)); if(userAux->id == comentario->idComentador) { printf("Comentario %d:%s Nick:%s Cantidad de likes:%d\r\n\n",j+1,comentario->comments,userAux->nick,comentario->likes); } } } cloneUsuarios->deleteArrayList(cloneUsuarios); }
void informar(ArrayList* lista,ArrayList* listaDirec) { int opcion; printf("1-Top 3 Mejores Peliculas\n"); printf("2-Top 5 Peores Peliculas\n"); scanf("%d",&opcion); switch(opcion) { case 1: if(lista->size>3) { int i,j; int largo; ArrayList* listaOrdenada; ArrayList* top3; listaOrdenada=al_clone(lista); al_sort(listaOrdenada,compareFilms,0); ePelicula* pAuxP; eDirector* pAuxD; top3=al_subList(listaOrdenada,0,2); largo=al_len(top3); for(i=0; i<largo; i++) { pAuxP=al_get(top3,i); for(j=0; j<listaDirec->size; j++) { pAuxD=al_get(listaDirec,j); if(pAuxP->director==pAuxD->codDirec) { break; } } printf("----------[%d]----------",(i+1)); printf("\nTitulo de la pelicula: %s\nDirector de la pelicula: %s\nNacionalidad de la pelicula: %s\nPuntaje: %d/100\n",pAuxP->titulo,pAuxD->nombre,pAuxP->nacionalidad,pAuxP->puntaje); } al_deleteArrayList(listaOrdenada); al_deleteArrayList(top3); } else { showMessage("IMPOSIBLE REALIZAR TOP SIN LA CANTIDAD CORRECTA DE PELICULAS"); } break; case 2: if(lista->size>5) { int i,j; int largo; ArrayList* listaOrdenada; ArrayList* top5; listaOrdenada=al_clone(lista); al_sort(listaOrdenada,compareFilms,1); ePelicula* pAuxP; eDirector* pAuxD; top5=al_subList(listaOrdenada,0,4); largo=al_len(top5); for(i=0;i<largo;i++) { pAuxP=al_get(top5,i); for(j=0;j<listaDirec->size;j++) { pAuxD=al_get(listaDirec,j); if(pAuxP->director==pAuxD->codDirec) { break; } } printf("----------[%d]----------",(i+1)); printf("\nTitulo de la pelicula: %s\nDirector de la pelicula: %s\nNacionalidad de la pelicula: %s\nPuntaje: %d/100\n",pAuxP->titulo,pAuxD->nombre,pAuxP->nacionalidad,pAuxP->puntaje); } al_deleteArrayList(listaOrdenada); al_deleteArrayList(top5); } else { showMessage("IMPOSIBLE REALIZAR TOP SIN LA CANTIDAD CORRECTA DE PELICULAS"); } break; } }