コード例 #1
0
ファイル: lib.c プロジェクト: GermanMoltoni/tp_laboratorio_1
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");
        }


    }
コード例 #2
0
ファイル: funciones.c プロジェクト: JuanM96/tp_laboratorio_1
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);
}
コード例 #3
0
/** \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);
}
コード例 #4
0
ファイル: funciones.c プロジェクト: JuanM96/tp_laboratorio_1
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;
    }


}