//Programa de pilas con apuntadores dinámicos
//Blanca Elia Jiménez Guzmán
//Septiembre de 2013
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
void menu(void);
void push(void);
void pop(void);
void consulta(void);
void tecla(void);
struct ficha
{
char nombre[40];
int edad;
struct ficha *sig;
} *aux,*tope;
int main()
{
system("cls");
aux=NULL;
tope=NULL;
menu();
return 0;
}
void menu(void)
{
char op='1';
while (op!='4')
{
system("cls");
cout <<"nMenu para pilas dinamicas"<<endl;
cout <<"1.- PUSH"<<endl;
cout <<"2.- POP"<<endl;
cout <<"3.- CONSULTA"<<endl;
cout <<"4.- SALIR"<<endl;
cout <<"Selecciona una opcion ";op=getche();
switch (op)
{
case '1': push();
break;
case '2': pop();
break;
case '3': consulta();
break;
}
}
} Hoja 1 de 2
void push(void)
{
system("cls");
aux=new ficha; //Reserva espacio para la captura
cout <<"nNombre: ";
cin>>aux->nombre;
cout <<"nEdad: ";
cin >>aux->edad;
aux->sig=tope;
tope=aux;
}
void pop(void)
{
system("cls");
if (tope==NULL)
cout <<"nPila vacia";
else
{
aux=tope;
tope=aux->sig;
cout <<"nEl dato a extraer es: "<<"ntNombre: "<<aux->nombre;
cout <<"ntEdad: "<<aux->edad;
delete aux;
}
tecla();
}
void consulta(void)
{
system("cls");
if (tope==NULL)
cout <<"nPila vacia";
else
{
aux=tope;
cout <<"nNombre Edad "<<endl;
while (aux!=NULL)
{
cout<<aux->nombre;
cout<<"t"<<aux->edad<<endl;
aux=aux->sig;
}
}
tecla();
}
void tecla(void)
{
cout<<"nPresiona una tecla para continuar"<<endl;
getch();
}
Hoja 1 de 2

Pilas con apuntadores dinamicos

  • 1.
    //Programa de pilascon apuntadores dinámicos //Blanca Elia Jiménez Guzmán //Septiembre de 2013 #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; void menu(void); void push(void); void pop(void); void consulta(void); void tecla(void); struct ficha { char nombre[40]; int edad; struct ficha *sig; } *aux,*tope; int main() { system("cls"); aux=NULL; tope=NULL; menu(); return 0; } void menu(void) { char op='1'; while (op!='4') { system("cls"); cout <<"nMenu para pilas dinamicas"<<endl; cout <<"1.- PUSH"<<endl; cout <<"2.- POP"<<endl; cout <<"3.- CONSULTA"<<endl; cout <<"4.- SALIR"<<endl; cout <<"Selecciona una opcion ";op=getche(); switch (op) { case '1': push(); break; case '2': pop(); break; case '3': consulta(); break; } } } Hoja 1 de 2
  • 2.
    void push(void) { system("cls"); aux=new ficha;//Reserva espacio para la captura cout <<"nNombre: "; cin>>aux->nombre; cout <<"nEdad: "; cin >>aux->edad; aux->sig=tope; tope=aux; } void pop(void) { system("cls"); if (tope==NULL) cout <<"nPila vacia"; else { aux=tope; tope=aux->sig; cout <<"nEl dato a extraer es: "<<"ntNombre: "<<aux->nombre; cout <<"ntEdad: "<<aux->edad; delete aux; } tecla(); } void consulta(void) { system("cls"); if (tope==NULL) cout <<"nPila vacia"; else { aux=tope; cout <<"nNombre Edad "<<endl; while (aux!=NULL) { cout<<aux->nombre; cout<<"t"<<aux->edad<<endl; aux=aux->sig; } } tecla(); } void tecla(void) { cout<<"nPresiona una tecla para continuar"<<endl; getch(); } Hoja 1 de 2