Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/10/2007, 03:33
conexz
 
Fecha de Ingreso: octubre-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: error en la libreria alloc.h

y en tonces los libros que lei estan mal¿?¿?¿
"A continuación veremos las funciones que se encargan de reservar y liberar memoria durante la ejecución, que se encuentran en la librería alloc.h:"
cita tomada del liro curso de programacion el cual se complia con borland C++, este el ejemplo que me encontre en tal libro
Código:
 
/* Ejemplo de una pila. */
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <alloc.h>

void insertar(void);
void extraer(void);
void visualizar(void);

struct pila
{
	char nombre[20];
	struct pila *ant;
}*CAB=NULL,*AUX=NULL;

main() /* Rellenar, extraer y visualizar */
{
	char opc;
	do
	{
		clrscr(); /* borramos la pantalla */
		gotoxy(30,8); /* columna 30, fila 8 */
		printf("1.- Insertar");
		gotoxy(30,10);
		printf("2.- Extraer");
		gotoxy(30,12);
		printf("3.- Visualizar la pila");
		gotoxy(30,14);
		printf("4.- Salir");
		opc=getch( );
		switch(opc)
		{
			case '1':
				insertar( );
				break;
			case '2':
				extraer( );
				break;
			case '3':
				visualizar( );
		}
	}while (opc!='4');
}

void insertar(void)
{
	AUX=(struct pila *)malloc(sizeof(struct pila));
	clrscr();
	printf("Nombre: ");
	gets(AUX->nombre);
	if (CAB==NULL)
	{
		CAB=AUX;
		AUX->ant=NULL;
	}
	else
	{
		AUX->ant=CAB;
		CAB=AUX;
	}
}

void extraer(void)
{
	if (CAB==NULL) return;
	AUX=CAB;
	CAB=CAB->ant;
	free(AUX);
}

void visualizar(void)
{
	if (CAB==NULL) return;
	clrscr();
	AUX=CAB;
	while (AUX!=NULL)
	{
		printf("Nombre: %s\n",AUX->nombre);
		AUX=AUX->ant;
	}
	getch( );
}
si es que esta mal el libro me podrian poner un ejemplo de una pila para ver como funciona, en verdad lo necesito espero su ayuda