int main(int argc, char* argv[]) {
    if(argc < 3) {
        printf("Argumentos invalidos\n");
        return 1;
    }

    if(!strcmp(argv[1], "-i")) { //Insersion
        return insersion(argc, argv);

    } else if(!strcmp(argv[1], "-l")) { //Listado
        return listado(argc, argv);

    } else if(!strcmp(argv[1], "-k")) { //busqueda
        return busqueda(argc, argv);

    } else if(!strcmp(argv[1], "-ok")) {
        return sort_menu(argc, argv, &sort_cmp_id);

    } else if(!strcmp(argv[1], "-on")) {
        printf("Sort name\n");
        return sort_menu(argc, argv, &sort_cmp_entidad);
    } else {
        printf("Argumentos invalidos\n");
        return 1;
    }

    return 0;
}
int sort_menu(int argc, char* argv[], TSortExternFunction func) {
    char path[512];
    char* args[3];

    strcpy(path, argv[2]);
    strcat(path, ".dat");

    remove("temp_sort_file.dat");
    sort_externo(SIZE_BLOQUE, path, "temp_sort_file.dat", func);

    strcpy(path, "temp_sort_file");
    args[2] = path;
    return listado(3, args);
}
Beispiel #3
0
// MAIN
void main (void)
{
    elemento *pila = NULL;      // Inicio de pila
    int salir = NO;
    char op = '\0';
    int val = 0;

    gotoxy (2, 35);
    printf ("P I L A");
    gotoxy (5, 5);
    printf ("1.- Dar alta.");
    gotoxy (5, 6);
    printf ("2.- Dar baja.");
    gotoxy (5, 7);
    printf ("3.- Mostrar listado.");
    gotoxy (5, 8);
    printf ("4.- Salir.");

    do {
        op = getch ();

        switch (op) {

            case '1':
                scanf ("%d%c", &val);
                alta (&pila, val);
                break;

            case '2':
                baja (&pila);
                break;

            case '3':
                listado (&pila);
                break;

            case '4':
                salir = SI;

            default:
                printf ("Opción no valida");
                break;
        }
    }
    while (salir);
}