Hola Calgary gracias por tu observación y efectivamente ya he resuelto el problema por un descuido, estuve varias horas bueno ya he realizado la pila me ha quedado así
Código C:
Ver original#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void crearpila (void);
void agregar(void);
void removerpila(void);
void verpila(void);
void mayor(void);
void espacio(void);
int *pila,pilaon=0,ele,arrepila[20],cont=0;
main()
{
int re;
char r;
pila=arrepila;
do
{
printf("Programa pila\n\n\n"); printf("2. Agregar elementos a la pila\n"); printf("3. Remover elementos de la pila\n"); printf("4. Visualizar elementos de la pila\n"); printf("5. Visualizar la cima de la pila\n"); printf("6. Mostrar espacio de la pila\n"); printf("Escoja una opcion por favor...\n");
switch(re)
{
case 1:
crearpila();
break;
case 2:
agregar();
break;
case 3:
removerpila();
break;
case 4:
verpila();
break;
case 5:
mayor();
break;
case 6:
espacio();
break;
}
}
while (re!=7);
}
void crearpila(void)
{
if (pilaon==NULL)
{
puts("Cuantos elementos desea agregar a la pila\n"); printf("Se ha creado la pila de %d elementos",ele
); pilaon=1;
}
else
{
puts("Ya ha creado la pila anteriormente. Vacie la pila para poder crear una nueva."); }
}
void agregar(void)
{
if (pilaon==NULL)
{
puts("Debe crear una pila primero"); }
else
{
if(cont==ele)
{
puts("La pila se encuentra llena"); }
else
{
puts("Ingrese elemento"); pila++;
cont++;
printf("Elemento ingresado correctamente");
}
}
}
void removerpila(void)
{
if (pilaon==NULL)
{
printf("No hay elementos en la pila"); }
else
{
printf("El elemento %d ha sido removido",*(pila
-1)); pila--;
cont--;
if(cont==0)
{
pilaon=NULL;
}
}
}
void verpila(void)
{
int a=1;
for (int i=0;i<cont;i++)
{
a++;
}
}
void mayor(void)
{
}
void espacio(void)
{
int espacio;
if (cont==ele)
{
}
else
{
espacio=ele-cont;
printf("Quedan %d espacios en la pila",espacio
); }
}
Mi pregunta es ¿esta bien hecha? como podría mejorarla mas, Gracias de antemano