C/Visual C - Duda con pilas en c++

 
Vista:

Duda con pilas en c++

Publicado por Jesus (1 intervención) el 15/03/2011 07:04:35
Hola Bueno lo que hace el programa solo es insertar y borrar elementos en una pila
este es mi archivo fuente:


#include <iostream.h>
typedef struct datos{
int dato;
struct datos *siguiente;
}tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;

void push (Pila *l,int x);
int pop (Pila *l);

void push(Pila *pila,int val){
pNodo nuevo;
nuevo = (pNodo) malloc (sizeof(tipoNodo));
nuevo->dato =val;
nuevo->siguiente =*pila;
*pila = nuevo;
}

int pop(Pila *pila){
pNodo aux;
int v;
aux = *pila;
if (!aux) cout << "\npila vacia\n";
else
*pila = aux->siguiente;
v = aux->dato;
free (aux);
return v;
cout << v;
system ("pause");
}

main()
{
int x,op,val;
Pila *pila;
//Pila pila = NULL;
do{
system ("cls");
cout << "Pilas"
<<"\n1- Insertar un nuevo elemento en la pila\n2- Quitar el ultimo elemento de la pila\n3- Mostrar el contenido de la pila\n4- Salir\n\n";
fflush (stdin);
cin >> op;
switch (op){
case 1:
cout <<"Que valor deseas asignarle a la variable\n";
cin >> val;
push(*pila,val);
break;
case 2:
val=pop(*pila);
break;
case 3:
cout << *pila ;
break;
case 4:
return 0;
break;


default:cout << "Digita una opcion valida";}
system("\npause");
}while (op!=4);



}


Ya lo revise pero no encuentro en donde esta la falla , de antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda con pilas en c

Publicado por anonimo (1 intervención) el 30/04/2011 11:53:23
Hola

de entrada prueba a sustituir en todas las asignaciones "*pila" por "pila" (la declaración de las funciones y de las variables no las toques)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda con pilas en c

Publicado por Julian (1 intervención) el 21/05/2011 02:07:46
Hola, he visto el codigo y me ha surgido una pregunta ... si quiero guardar en una lista (ya sea cola o pila) cadenas de caracteres (nombres de personas) como se debe hacer el paso de dicha cadena para que sea agregada a la lista.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar