C/Visual C - Ejemplo de pilas en Borland c++

 
Vista:

Ejemplo de pilas en Borland c++

Publicado por Project R4 (2 intervenciones) el 29/11/2006 01:58:47
Aqui les dejo un ejemplo sencillo de pilas, tiene el mismo estilo del programa que deje de colas solo que esta vez apila (Du'h!!!!)... Drisfrutenlo...

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <alloc.h>
#include <iostream.h>
#define localizar (struct pila *)malloc(sizeof(struct pila))
/*Definimos la variable localizar para abrir espacio en memoria*/

struct pila
{
char nombre[100],cedula[100],deuda[100];/*Variables donde recogemos los datos*/
struct pila *ant;/*Puntero al elemento anterior*/
}*aux=NULL,*cab=NULL;/*Punteros para movernos por la pila*/

/*Prototipo de las funciones*/
void apilar(void);
void desapilar(void);
void visualizar(void);
void autor(void);

void main()
{
char opc;
do
{
textbackground(BLUE);/*Función que selecciona el color de fondo*/
clrscr( );/*Limpia la pantalla*/
cout<<"\n""******************** BANCO XXX ****************************";
cout<<"\n""\n""------------------ MENU PRINCIPAL -------------------------";
cout<<"\n""1.- Insertar Datos del deudor";
cout<<"\n""2.- Extraiga Datos del deudor";
cout<<"\n""3.- Visualizar la lista de Deudores";
cout<<"\n""4.- Sobre el autor del programa";
cout<<"\n""5.- Salir";
cout<<"\n""----------------------------------------------------------";
cout<<"\n""\n""Digite su opcion: ";
cin>>opc;

switch(opc)
{
case '1':
apilar( );
break;

case '2':
desapilar( );
break;

case '3':
visualizar( );
break;

case '4':
autor();
break;
}

}
while (opc!='5');
}

void apilar(void)/*Funcion que apila los datos*/
{
aux=localizar;
textbackground(GREEN);
clrscr( );
cout<<"\n""******************** BANCO XXX ****************************";
cout<<"\n""\n""---------------- DATOS DEL DEUDOR --------------------";
cout<<"\n""\n""Digite el nombre del deudor: ";
cin>>aux->nombre;
cout<<"\n""Digite el numero de cedula: ";
cin>>aux->cedula;
cout<<"\n""Digite la cantidad: $";
cin>>aux->deuda;
if(cab==NULL)
{
cab=aux;
aux->ant=NULL;
}
else
{
aux->ant=cab;
cab=aux;
}
}

void desapilar(void)/*Funcion que desapila los datos*/
{
if (cab==NULL) return;
aux=cab;
cab=cab->ant;
free(aux);

if (cab==NULL)
{
cout<<"\n""\n""La pila esta vacia.";
getch();
}
else
{
cout<<"\n""\n""La pila aun tiene datos.";
getch();
}
}

void visualizar(void)/*Funcion que visualiza los datos*/
{
textbackground(RED);
clrscr( );
if (cab==NULL) return;
int i=0;
aux=cab;
cout<<"\n""******************** BANCO XXX ****************************";
cout<<"\n""\n""---------------- LISTA DE DEUDORES -----------------------";
cout<<"\n""\n""Nombre del deudor Numero de cedula Cantidad de la deuda";
while (aux!=NULL)
{
gotoxy(1,8+i);cout<<aux->nombre;
gotoxy(24,8+i);cout<<aux->cedula;
gotoxy(44,8+i);cout<<"$"<<aux->deuda;
aux=aux->ant;
i++;
}
getch();
}

void autor(void)/*Funcion que visualiza los datos del programador*/
{
textbackground(BROWN);
clrscr( );
cout<<"\n""******************** BANCO XXX ****************************";
cout<<"\n""----------------- SOBRE EL AUTOR -----------------------";
cout<<"\n""\n""Project R4";
cout<<"\n""Universidad Nacional Abierta y a Distancia UNAD";
cout<<"\n""Ingenieria de Sistemas";
cout<<"\n""Semestre 4";
cout<<"\n""2006";
getch();
}
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

Ejemplo de pilas en Borland c++

Publicado por sandybel (1 intervención) el 13/12/2012 02:36:31
y como hacer para que me muestre que la pila esta llena???
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