#include #include #define max 10 struct pilas{ int tope; int elem[max]; }pila; int ins(int dato) { if(pila.tope==max-1) { printf("ERROR: Stack Overflow,Desbordamiento de pila, pila llena)\n"); printf("\n\n\n"); } else { pila.tope=pila.tope+1; pila.elem[pila.tope]=dato; } return(dato); } int del(dato) { if(pila.tope==-1) { printf("ERROR: Stack underflow,Pila vacia"); } else{ pila.tope=pila.tope-1; printf("Elemento Eliminado. Stack OK"); } return(dato); } int sort(int dato) { int con; clrscr(); if(pila.tope==-1) { printf("Stack Void ->Pila Vacia"); } else { con=pila.tope; do { printf("\n %d",pila.elem[con]); con--; }while(con!=-1); } return(dato); } void main() { int con, n,i,dato, to, opc, resp; pila.tope=-1; while(opc!=4) { clrscr(); gotoxy(5,12); printf("Operaciones con pilas"); printf("\n\n\n"); printf("1. Insertar\n"); printf("2. Eliminar\n"); printf("3. Mostrar pila\n"); printf("4. Salir\n"); printf("\n"); printf("Seleccione una opcion:");scanf("%d",&opc); switch(opc){ case 1: clrscr(); printf("Teclee el valor a insertar:");scanf("%d",&dato); ins(dato); getch(); break; case 2: clrscr(); del(); getch(); break; case 3: sort(dato); getch(); break; } } return; }