Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2009, 21:50
angelperdido
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 14 años, 7 meses
Puntos: 0
hola voy con pilas

ok gracias a todos aquellos que ponen su granito de arena para ayudar alos que empezamos ojala y algundia sea yop el que de una asesoria este es mi progrma pero no me corre correctamente ojala me puideran decir cual es el error saludos hay comentarios que son de la plantilla que me puseron para realizar este programa saludos todos
#define MAXELE 10
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
/* DEFINICION DE LAS ESTRUCTURAS DE DATOS PARA LA IMPLEMENTACION DE LA PILA */
static int TPILA[MAXELE];
static int cima = 0; /* base es 0 */

//const int tampila=5 //tamaño que tendra la pila
/* Función que almacena un elemento en la pila */
/* Si la pila no está llena, añadir i a la pila en la posición cima e
incrementar cima. En este caso se devuelve 0.
Si la pila está llena, no se hace nada y se devuelve 1
*/
class PILA{
public:
int mpila[MAXELE];
int cima;
void reset();
void push (int j);
//int push (int i)
int pop();
};
void PILA :: reset()
{
cima=0;
/*Añadir código*/
}
void PILA :: push (int j)
{
if (cima<MAXELE)
{
mpila[cima++]=j;
}
}

int PILA::pop()
{
if(cima>0)
{
printf("El valor del tope eliminado era: ");
// Retorna el valor del tope que fue eliminado
return(mpila[--cima]);
}
else
printf("No existen datos para eliminar\n");
return (0);
}

/* Función que extrae un elemento de la pila */
/* Si la pila no está vacía, copiar el elemento que está en la
posición
cima en la dirección apuntada por el parámetro y decrementar cima.
En este caso se devuelve 0.
Si la pila está vacía, no se hace nada y se devuelve 1
*/
//int pop (int *pi)
//{
/*Añadir código*/
//}




/* Función que vacía la pila */
//void vaciar_pila (void)
//{
//cima=0;
//}
void main ()
{
PILA stack;
stack.reset();
int opc,j,dato;
char salir;
do{
do{
// PROGRAMA PRINCIPAL
// muestra un menu para:
printf("1.- Solicitar y almacenar un elemento en la pila\n");
printf("2.- Retirar y mostrar un elemento de la pila\n");
printf("3.- Mostrar todo el contenido en la pila\n");
printf("4.- Vaciar la pila de una sola vez\n");
printf("5.-salir\n");
printf("tu opcion fue:");
scanf("%d",&opc);


}
while (opc>5);
switch (opc)
{
case(1):
if (stack.cima<MAXELE)
{
printf("ingresa los datos a guardar");
scanf("%d",&dato);
stack.push(dato);
}
else
printf("la pila no esta vacia");
printf("deseas salir (Si o No)");
scanf("%s",&salir);

break;

case (2):
stack.pop();
printf("deseas salir (Si o No)");
scanf("%s",&salir);

break;

case (3):
if(stack.cima!=0)
{
printf("los datos almacenados en la pila son :");
for (j=0;j<stack.cima;j++)
{
printf("los datos en la pila son",stack.mpila[j]);


else{
printf("no hay datos guardados en la pila");
printf("deseas salir (Si o No)");
scanf("%s",&salir);
}
}
}
break;

case(4):
stack.reset();
printf("deseas salir (Si o No)");
scanf("%s",&salir);

break;
case(5):
salir='s'; break;
default:
salir='s'; break;
}
}
while(salir=='n' || salir=='N');
}
//void main(){

/* Añadir el código aqui */
//}