Exemplo n.º 1
0
void borrarBarco (Barco * barco){
    free(barco->nombre);
    free(barco->manga);
    Persona * aux = barco->tripulacion;
    Persona * fin = aux + (barco->siguientePuesto);

    for (; aux <= fin ; ++aux) {
        borrarPersona(aux);
    }
    barco->siguientePuesto = 0;
    borrarPersona(&barco->propietario);
    free(barco->tripulacion);
}
Exemplo n.º 2
0
int main()
{
    EPersona persona[20];
    char seguir = 's';
    int op = 0, flag = 0, carga = 0;
    long int auxDni;

    do{
        system("cls");
        printf("1- Agregar persona\n");
        printf("2- Borrar persona\n");
        printf("3- Imprimir lista ordenada por nombre\n");
        printf("4- Imprimir grafico de edades\n\n");
        printf("5- Salir\n");

        scanf("%d",&op);

        switch(op)
        {
            case 1:
                system("cls");

                if(flag == 0){
                    inicializarEstados(persona, TAM);
                    flag = 1;
                }
                    agregarPersona(persona, TAM);
                    carga = 1;
                    system("pause");
                break;
            case 2:
                system("cls");
                if (carga == 0)
                    printf("Debe ingresar algun dato primero\n");
                else{
                    auxDni = getLongInt(auxDni, "Ingrese DNI a eliminar: ", "\n\nERROR. El DNI debe ser entre 1000000 y 99999999.\nReingrese: ", 100000, 99999999);
                    borrarPersona(persona, auxDni, TAM);
                }

                system("pause");
                break;
            case 3:
                system("cls");
                if (carga == 0)
                    printf("Debe ingresar algun dato primero\n");
                else
                    ordenarPersonas(persona, TAM);

                system("pause");
                break;
            case 4:
                system("cls");
                if (carga == 0)
                    printf("Debe ingresar algun dato primero\n");
                else
                    graficoPersonas(persona, TAM);

                system("pause");
                break;
            case 5:
                seguir = 'n';
                break;
            default:
                system("cls");
                printf("Opcion invalida. Elija una opcion entre 1 y 5\n");
                system("pause");
        }

    }while(seguir=='s');

    return 0;
}
Exemplo n.º 3
0
int main()
{
    ePersona persona[TAM];
    inicializarPersona(persona,TAM);
    int indiceDesocupado;
    int dniAux;
    char seguir='s';
    int opcion=0;
    int flagAltas=0;

    printf("\n  ----------------------------- ");
    printf("\n  -   BIENVENIDO A TP2_ABM    - ");
    printf("\n  ----------------------------- \n\n");
    system("pause");
    system("cls");

    while(seguir=='s')
    {
        system("cls");
        printf("MENU \n\n");
        printf("****\n\n");
        printf("1- Agregar una persona\n");
        printf("2- Borrar una persona\n");
        printf("3- Imprimir lista ordenada por nombre\n");
        printf("4- Imprimir grafico de edades\n\n");
        printf("5- Salir\n");

        printf("\nOpcion: ");
        scanf("%d",&opcion);

        switch(opcion)
        {
            case 1:
                indiceDesocupado=buscarDesocupado(persona,TAM);
                if(indiceDesocupado!=-1)
                {
                    agregarPersonas(persona,TAM,indiceDesocupado);
                    persona[indiceDesocupado].estado=1;
                }
                else
                {
                    printf("\nNO HAY ESPACIO DISPONIBLE");
                }
                flagAltas=1;
                break;
                system("pause");
                system("cls");
            case 2:
                if(flagAltas==0)
                    {
                        printf("\nDEBE INGRESAR AL MENOS UNA PERSONA\n");
                        system("pause");
                    }
                else
                    {
                        printf("\nINGRESE DNI DE LA PERSONA QUE DESEA BORRAR: ");
                        scanf("%d",&dniAux);
                        indiceDesocupado=borrarPersona(persona,TAM,dniAux);
                        if(indiceDesocupado!=-1)
                        {
                            persona[indiceDesocupado].estado=-1;
                            persona[indiceDesocupado].dni=-1;
                            persona[indiceDesocupado].edad=-1;
                            printf("\nPERSONA ELIMINADA CON EXITO\n\n");
                        }
                        else
                        {
                            printf("\nNO SE ENCONTRO EL DNI INGRESADO\n");
                        }
                        system("pause");
                    }
                break;
            case 3:
                if(flagAltas==0)
                    {
                        printf("\nDEBE INGRESAR AL MENOS UNA PERSONA\n");
                        system("pause");
                    }
                else
                    {
                        mostrarListaPersonas(persona,TAM);
                        system("pause");
                    }
                break;
            case 4:
                if(flagAltas==0)
                    {
                        printf("\nDEBE INGRESAR AL MENOS UNA PERSONA\n");
                        system("pause");
                    }
                else
                    {
                        graficoDeBarras(persona,TAM);
                        system("pause");
                    }
                break;
            case 5:
                seguir='n';
                printf("\nSESION FINALIZADA\n");
                printf("\n- GRACIAS POR UTILIZAR TP2_ABM -\n\n");
                system("pause");
                break;
            default:
                printf("\nNO INGRESO UNA OPCION VALIDA (1-5)\n\n");
                system("pause");
        }
    }

    return 0;
}