PROGRAMACION PILAS ESTRUCTURAS DE DATOS


**#include <stdio.h>**

#include <conio.h>

#include <string.h>

#include <iomanip.h>

#include <iostream.h>

class Alumno

{

private:

int Pila[10],Top,Max;

char Pila1[10][10];

public:

Alumno()

{

int i,j;

char Nulo[2]=" ";

Max=9;

Top=-1;

for(i=1;i<9;i++)

{

Pila[i]=0;

strcpy(Pila1[i],Nulo);

}

}

void Push(char Elem[10])

{

if(Top!=Max)

{

Top++;

strcpy(Pila1[Top],Elem);

}

else

cout<<"Pila Llena"<<endl;

}

void Push(int Elem)

{

if(Top!=Max)

{

Top++;

Pila[Top]=Elem;

}

else

cout<<"Pila Llena"<<endl;

}

void Push(float Elem)

{

if(Top!=Max)

{

Top++;

Pila[Top]=Elem;

}

else

cout<<"Pila Llena"<<endl;

}

void Push(double Elem)

{

if(Top!=Max)

{

Top++;

Pila[Top]=Elem;

}

else

cout<<"Pila Llena"<<endl;

}

void Pop(void)

{

if(Top!=-1)

{

cout<<"Sacando el Dato: "<<Pila[Top];

Top--;

}

else

cout<<"Pila Vacia... Imposible Eliminar"<<endl;

}

void Recorrido(void)

{

if(Top!=-1)

for(int i=Top;i!=-1;i--)

cout<<Pila[i]<<endl;

else

cout<<"Pila Vacia...";

}

void Busqueda(char Elem[10])

{

for(int i=Top;i!=-1;i--)

if((strcmp(Elem,Pila1[i]))==0)

{

cout<<"Dato "<<Pila1[i]<<" encontrado..."<<endl;

return;

}

cout<<"Dato no encontrado..."<<endl;

}

void Busqueda(int Elem)

{

for(int i=Top;i!=-1;i--)

if(Elem==Pila[i])

{

cout<<"Dato "<<Pila[i]<<" encontrado..."<<endl;

return;

}

cout<<"Dato no encontrado..."<<endl;

}

void Busqueda(float Elem)

{

for(int i=Top;i!=-1;i--)

if(Elem==Pila[i])

{

cout<<"Dato "<<Pila[i]<<" encontrado..."<<endl;

return;

}

cout<<"Dato no encontrado..."<<endl;

}

void Busqueda(double Elem)

{

for(int i=Top;i!=-1;i--)

if(Elem==Pila[i])

{

cout<<"Dato "<<Pila[i]<<" encontrado..."<<endl;

return;

}

cout<<"Dato no encontrado..."<<endl;

}

void Borrar(char Elem[10])

{

char Temp[10][10];

int i=0,j=Top;

if(Top==-1)

{

cout<<"Pila Vacia... Imposible Eliminar...";

return;

}

while(j!=-1)

{

if((strcmp(Elem,Pila1[j]))==0)

{

cout<<"Dato Eliminado...";

for(i--;i!=-1;j++,i--)

strcpy(Pila1[j],Temp[i]);

Top--;

return;

}

else

{

strcpy(Temp[i],Pila1[j]);

i++;

j--;

}

}

cout<<"Dato no encontrado... Imposible Eliminar...";

return;

}

void Borrar(int Elem)

{

int Temp[10],i=0,j=Top;

if(Top==-1)

{

cout<<"Pila Vacia... Imposible Eliminar...";

return;

}

while(j!=-1)

{

if(Elem==Pila[j])

{

cout<<"Dato Eliminado...";

for(i--;i!=-1;j++,i--)

Pila[j]=Temp[i];

Top--;

return;

}

else

{

Temp[i]=Pila[j];

i++;

j--;

}

}

cout<<"Dato no encontrado... Imposible Eliminar...";

return;

}

void Borrar(float Elem)

{

int Temp[10],i=0,j=Top;

if(Top==-1)

{

cout<<"Pila Vacia... Imposible Eliminar...";

return;

}

while(j!=-1)

{

if(Elem==Pila[j])

{

cout<<"Dato Eliminado...";

for(i--;i!=-1;j++,i--)

Pila[j]=Temp[i];

Top--;

return;

}

else

{

Temp[i]=Pila[j];

i++;

j--;

}

}

cout<<"Dato no encontrado... Imposible Eliminar...";

return;

}

void Borrar(double Elem)

{

int Temp[10],i=0,j=Top;

if(Top==-1)

{

cout<<"Pila Vacia... Imposible Eliminar...";

return;

}

while(j!=-1)

{

if(Elem==Pila[j])

{

cout<<"Dato Eliminado...";

for(i--;i!=-1;j++,i--)

Pila[j]=Temp[i];

Top--;

return;

}

else

{

Temp[i]=Pila[j];

i++;

j--;

}

}

cout<<"Dato no encontrado... Imposible Eliminar...";

return;

}

}tec;

main()

{

int res,op=0;

while(op!=6)

{

clrscr();

cout<<"\n1) Recorrido\n2) Busqueda\n3) Push\n4) Pop\n5) Eliminar un Dato\n6) Salir"<<endl;

gotoxy(1,1);

cout<<"Que deseas hacer?: ";

cin>>op;

gotoxy(1,10);

switch (op)

{

case 1:

tec.Recorrido();

break;

case 2:

cout<<"Que Numero deseas buscar?"<<endl;

cin>>res;

tec.Busqueda(res);

break;

case 3:

cout<<"Que Numero quieres Insertar?"<<endl;

cin>>res;

tec.Push(res);

break;

case 4:

tec.Pop();

break;

case 5:

cout<<"Que Numero deseas eliminar?"<<endl;

cin>>res;

tec.Borrar(res);

break;

case 6:

cout<<"Salida...";

break;

default:

cout<<"Opcion Erronea"<<endl;

break;

}

getch();

}

}

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad