12/10/2009, 17:05
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 2 meses Puntos: 0 | |
haaaay no me queda
Código:
#define MAXELE 10
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
static int TPILA[MAXELE];
static int cima = 0; /* base es 0 */
///////////////////////////////////////////////////
struct PILA{
int mpila[MAXELE];
int cima;
void reset();
void push (int j);
int pop();
};
///////////////////////////////////////////////
void PILA :: reset()
{
cima=0;
}
//////////////////////////////////////////////////////
void PILA :: push (int j)
{
if (cima<MAXELE)
{
mpila[cima++]=j;
}
}
//////////////////////////////////////////////////////
int PILA::pop()
{
if(cima>0)
{
printf("El valor del tope eliminado era: ");
return(mpila[--cima]);
}
else{
printf("No existen datos para eliminar\n");
return (0);
}
}
///////////////////////////////////////////////////////
void main ()
{
PILA stack;
stack.reset();
int opc,j,dato;
char salir;
do{
do{
printf("\n\n\t1.- Solicitar y almacenar un elemento en la pila\n");
printf("\t2.- Retirar y mostrar un elemento de la pila\n");
printf("\t3.- Mostrar todo el contenido en la pila\n");
printf("\t4.- Vaciar la pila de una sola vez\n");
printf("\t5.-salir\n");
printf("\t\ttu 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();
dato = stack.pop();
printf("%d",dato);
printf("deseas salir (Si o No)");
scanf("%s",&salir);
break;
case (3):
if(stack.cima!=0)
{
for (j=0;j<stack.cima;j++)
{
printf("los datos en la pila son %d \n",stack.mpila[j]);
}
}
else {
printf("\n 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');
}
este es mi programa ya mas o menos corre pero no se porque en el case 3 al mostrarme lo que esta almacenado me manda tambien luego luego el menu de nuevo y de lo demas pues no se si ya esta bien alguien de ustedes podria checarlo porfavor otra csa que encontre es que en la opcion de salir S y N si le pongo un solo caracter %c me manda errores de ejecucion pero si le pongo %s ya no a que se debe ese problema lo eh tenido con todas las actividades que me an mandado porfavor ayudaaaa gracias a todos los que an puesto su granito con este programa |