PILAS EN C++
ARCHIVO QUE CONTIENE LAS FUNCIONES DEL PAQUETE PILAS
/*********************************************************************************
* TAREA: FUNCIONES DEL PAQUETE PILAS *
* PROGRAMADOR: JULIO CESAR LEYVA RODRIGUEZ *
* INSTITUTO TECNOLOGICO DE LOS MOCHIS *
* HTTP://SHALOM-NOW.BLOGSPOT.COM *
**********************************************************************************
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
# define MAX 5
//DECLARA UN ALIAS
typedef int tipodatopila;
//GENERA UNA ESTRUCTURA UN PAQUETE DE VARIABLES EN UNA SOLA
typedef struct tipopila
{
tipodatopila *pila;
int tope;
};
//ESTA FUNCION INICIALIZA LA PILA
void inicializarpila(tipopila *p)
{
p->tope=-1;
}
//ESTA FUNCION INSERTA UN DATO EN LA PILA
void push(tipopila *p ,tipodatopila dato)
{
(p->tope)=p->tope+1;
*(p->pila+p->tope)=dato;
}
//ESTA FUNCION TE AVISA SI LA PILA ESTA LLENA
int pilallena(tipopila *p)
{
if (p->tope==MAX-1)
return(1);
else
return(0);
}
//ESTA FUNCION TE AVISA SI LA PILA ESTA VACIA
int pilavacia(tipopila *p)
{
if (p->tope==-1)
return(1);
else
return(0);
}
//ESTA FUNCION BORRA UN ELEMENTO DE LA PILA
tipodatopila pop(tipopila *p)
{
tipodatopila dato;
dato=*(p->pila+p->tope);
(p->tope)--;
return(dato);
}
//FUNCION QUE VISUALIZA LA PILA
void imprimepila(tipopila *p)
{
int x;
for (x=p->tope;x>-1;x--)
{
cout<<*(p->pila+x)<<"\n";
getch();
}
getch();
}
//MENU
void menu(tipopila *tipopila)
{
int op;
do
{
clrscr();
imprimepila(tipopila);
gotoxy(10,1); cout<<" MENU";
gotoxy(10,2); cout<<"1. INICIALIZAR";
gotoxy(10,3); cout<<"2. ALTA";
gotoxy(10,4); cout<<"3. BAJA";
gotoxy(10,5); cout<<"4. VISUALIZAR";
gotoxy(10,6); cout<<"5. SALIR";
gotoxy(10,7); cout<<" ELIJA UNA OPCION [ ]";
gotoxy(36,7); cin>>op;
switch(op)
{
case 1:
inicializarpila(pilita);
getch();
break;
}
}
while(op!=5);
}
void main()
{
tipodatopila pila[MAX];
tipopila pilita;
pilita.pila=&pila[0];
menu(&pilita);
}
* TAREA: FUNCIONES DEL PAQUETE PILAS *
* PROGRAMADOR: JULIO CESAR LEYVA RODRIGUEZ *
* INSTITUTO TECNOLOGICO DE LOS MOCHIS *
* HTTP://SHALOM-NOW.BLOGSPOT.COM *
**********************************************************************************
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
# define MAX 5
//DECLARA UN ALIAS
typedef int tipodatopila;
//GENERA UNA ESTRUCTURA UN PAQUETE DE VARIABLES EN UNA SOLA
typedef struct tipopila
{
tipodatopila *pila;
int tope;
};
//ESTA FUNCION INICIALIZA LA PILA
void inicializarpila(tipopila *p)
{
p->tope=-1;
}
//ESTA FUNCION INSERTA UN DATO EN LA PILA
void push(tipopila *p ,tipodatopila dato)
{
(p->tope)=p->tope+1;
*(p->pila+p->tope)=dato;
}
//ESTA FUNCION TE AVISA SI LA PILA ESTA LLENA
int pilallena(tipopila *p)
{
if (p->tope==MAX-1)
return(1);
else
return(0);
}
//ESTA FUNCION TE AVISA SI LA PILA ESTA VACIA
int pilavacia(tipopila *p)
{
if (p->tope==-1)
return(1);
else
return(0);
}
//ESTA FUNCION BORRA UN ELEMENTO DE LA PILA
tipodatopila pop(tipopila *p)
{
tipodatopila dato;
dato=*(p->pila+p->tope);
(p->tope)--;
return(dato);
}
//FUNCION QUE VISUALIZA LA PILA
void imprimepila(tipopila *p)
{
int x;
for (x=p->tope;x>-1;x--)
{
cout<<*(p->pila+x)<<"\n";
getch();
}
getch();
}
//MENU
void menu(tipopila *tipopila)
{
int op;
do
{
clrscr();
imprimepila(tipopila);
gotoxy(10,1); cout<<" MENU";
gotoxy(10,2); cout<<"1. INICIALIZAR";
gotoxy(10,3); cout<<"2. ALTA";
gotoxy(10,4); cout<<"3. BAJA";
gotoxy(10,5); cout<<"4. VISUALIZAR";
gotoxy(10,6); cout<<"5. SALIR";
gotoxy(10,7); cout<<" ELIJA UNA OPCION [ ]";
gotoxy(36,7); cin>>op;
switch(op)
{
case 1:
inicializarpila(pilita);
getch();
break;
}
}
while(op!=5);
}
void main()
{
tipodatopila pila[MAX];
tipopila pilita;
pilita.pila=&pila[0];
menu(&pilita);
}
Comentarios
Publicar un comentario