예제 #1
0
int main(){

    t_pila pila;
    crearPila(&pila);

    t_info info;
    info.dato = 4;
    ponerEnPila(&pila,&info);

    printf("PILA LLENA: %s \n",pilaLlena(&pila)?"SI":"NO");

    t_info ext;
    verTope(&pila,&ext);
    printf("TOPE DE PILA: %d \n",ext.dato);

    t_info ext2;
    sacarDePila(&pila,&ext2);
    printf("EXTRAIDO DE PILA: %d \n",ext2.dato);

    vaciarPila(&pila);

    printf("PILA VACIA: %s \n",pilaVacia(&pila)?"SI":"NO");

    return 0;

}
//***************MAIN***************//
void main()
{
    FILE* pf;
    t_dato dato;
    t_pila pila;
    int opc,cantReg,i;

    printf("\n**********MENU DE OPCIONES**********\n\
1- Crear pila\n\
2- Apilar\n\
3- Desapilar\n\
4- Pila vacia?\n\
5- Pila llena?\n\
6- Vaciar pila\n\
7- Ver tope de pila\n\
0- SALIR\n\n\
INGRESE EL NUMERO DE OPCION: ");
    scanf("%d",&opc);

    while(opc && opc!=0)
    {
        switch(opc)
        {
        case 1:
            crearPila(&pila);
            printf("\nSe ha creado la pila");
        break;

        case 2:
            while(pila.tope!=TAM)
            {
                cargarDato(&dato);
                if(apilar(&pila,&dato))
                    printf("\nSe apilo el dato ingresado");
            }
            printf("\nSE LLENO LA PILA");

        break;

        case 3:
            if(desapilar(&pila,&dato))
                {
                    printf("Se desapilo el dato ");
                    puts(dato.nom);
                }
            else
                printf("No se pudo desapilar el dato");

        break;

        case 4:
            if(pilaVacia(&pila))
                printf("La pila esta vacia");
            else
                printf("La pila NO esta vacia");
        break;

        case 5:
            if(pilaLlena(&pila))
                printf("La pila esta llena");
            else
                printf("Todavia hay lugar en la pila");
        break;

        case 6:
            vaciarPila(&pila);
            printf("Se vacio la pila");
        break;

        case 7:
            if(verTope(&pila,&dato))
            {
                printf("El tope de pila es ");
                puts(dato.nom);
            }
            else
                printf("La pila esta vacia");
        break;

        }
        printf("\n\n**********MENU DE OPCIONES**********\n\
1- Crear pila\n\
2- Apilar\n\
3- Desapilar\n\
4- Pila vacia?\n\
5- Pila llena?\n\
6- Vaciar pila\n\
7- Ver tope de pila\n\
0- SALIR\n\n\
INGRESE EL NUMERO DE OPCION: ");
        scanf("%d",&opc);
    }

}