0% encontró este documento útil (0 votos)
273 vistas9 páginas

Practica 4 Esime Zacatenco Campos y Ondas Electromagneticas

Este documento presenta el código C++ para implementar una pila utilizando una estructura de nodos enlazados. Define una clase Pila con métodos para insertar, sacar y mostrar datos de la pila. El programa principal crea tres pilas y permite al usuario transferir datos entre ellas mediante un menú de opciones.

Cargado por

Hector van Halen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
273 vistas9 páginas

Practica 4 Esime Zacatenco Campos y Ondas Electromagneticas

Este documento presenta el código C++ para implementar una pila utilizando una estructura de nodos enlazados. Define una clase Pila con métodos para insertar, sacar y mostrar datos de la pila. El programa principal crea tres pilas y permite al usuario transferir datos entre ellas mediante un menú de opciones.

Cargado por

Hector van Halen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

#include<iostream>

#include<stdio.h>
#include<conio.h>
#include<windows.h>
using namespace std;

struct Nodo
{
int Campo;
struct Nodo *siguiente;
};

class Pila
{
struct Nodo*Inicio;
public:
Pila()
{
Inicio=NULL;
}
void MostrarDato();
void InsertarDato(int Dato);
int SacarDato();
void ValDato (Pila &PILA1,Pila &PILA2,int Dato);
//
};

void Pila::MostrarDato()
{
cout<<"Datos de la pila"<<endl;
struct Nodo *aux=Inicio;
int i=1;
if(Inicio==NULL)
{
cout<<"<<<<<<Pila vacia>>>>>>";

}else

while(aux!=NULL)
{
cout<<"Dato "<<i++<<" : "<<aux>Campo<<endl;
aux=aux->siguiente;

}
//system("pause");

void Pila::InsertarDato(int Dato)


{
struct Nodo*nuevo=new(struct Nodo);

nuevo->Campo=Dato;
if(Inicio!=NULL)
{
nuevo->siguiente=Inicio;
Inicio=nuevo;
}else
{
Inicio=nuevo;
nuevo->siguiente=NULL;

}
}
int Pila::SacarDato()
{
struct Nodo*aux=Inicio;
int Valor;
if(aux!=NULL)
{
Valor=aux->Campo;
Inicio=aux->siguiente;
delete aux;
}
return Valor;

/*
void Pila :: ValDato (int &Dato)
{
//struct Nodo*aux=Inicio;

if (Dato)
{

cout<<"Operacion indeterminada"<<endl;
system ("pause");
}else
{

}
return Ban;
}//Termina ValDen

*//*
void Pila::ValDato(Pila &PILA1,Pila &PILA2,int Dato)
{

Dato=PILA1.ObtenerDato();
PILA2.PonerDato(Dato);

if(Dato=PILA1.ObtenerDato()>=PILA2.PonerDato(Dato))
{
cout<<"error"<<endl;
}else

PILA2.MostrarDato();
}
}*/
int main()
{

int OP;
int NP;
Pila PILA1,PILA2, PILA3;
//int OP=0;
//Pila EjPila;
/*
cout<<"ingresa el numero de elementos que quieres contenga la pila :
"<<endl;
cin>>NP;

ApP=new Pila[NP];

for(int i=0;i<NP;i++)
{

cout<<"ingrese el dato "<<i++<<EjPila->PonerDato(int Dato);

}
*/

cout<<"INICIO PILA"<<endl;
//cout<<endl<<endl<<endl;
//PILA1.MostrarDato();
int Dato=0;
PILA1.InsertarDato(Dato+1);
PILA1.InsertarDato(Dato+2);
PILA1.InsertarDato(Dato+3);
//PILA1.MostrarDato();
//cout<<"PRIMER VALOR OBTENIDO"<<" :
"<<EjPila.ObtenerDato()<<endl;
//PILA1.MostrarDato();
//cout<<endl<<endl<<endl;

do

{//inicia do-while

cout<<"PILA 1"<<endl;

PILA1.MostrarDato();

cout<<""<<endl;
cout<<endl;

cout<<"PILA 2"<<endl;
PILA2.MostrarDato();
cout<<""<<endl;

cout<<endl;
cout<<"PILA 3"<<endl;
PILA3.MostrarDato();
cout<<""<<endl;
//PILA1.MostrarDato();

cout<<endl;
cout<<"OPCIONES"<<endl;
cout<<"1.-DE PILA 1 A PILA 2"<<endl;
cout<<"2.-DE PILA 1 A PILA 3"<<endl;
cout<<"3.-DE PILA 2 A PILA 1"<<endl;

cout<<"4.-DE PILA 2 A PILA 3"<<endl;


cout<<"5.-DE PILA 3 A PILA 1"<<endl;
cout<<"6.-DE PILA 3 A PILA 2"<<endl;

cout<<"ingrese el movimiento"<<endl;
cin>>OP;

//Dato=PILA1.ObtenerDato();
//PILA2.PonerDato(Dato);
//system("pause");
int Mayor=0,Menor=0;

switch(OP)
{//inicia switch
case 1:

// Dato=PILA1.ObtenerDato();
//PILA2.PonerDato(Dato);
/*Mayor=PILA1.ObtenerDato();
Menor=PILA2.ObtenerDato();

if(Menor==NULL)

break;
case 6:
Dato=PILA3.SacarDato();
PILA2.InsertarDato(Dato);
PILA2.MostrarDato();
system("cls");

break;

default:system("cls");cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl
<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<
endl<<endl<<endl;cout<<"\n\n\nOPCION ERRONEA, INGRESE DE NUEVO UN
NUMERO ENTRE EL 1 Y EL 6";Sleep(5000);system("cls");
/*case 7:
cout<<"Gracias por su visita"<<endl<<endl;
break;
// }//termina switch*/
}
}while(OP!=6);
return OP;

system("pause");
getch();
}

También podría gustarte