#include<stdio.h>
#include<stdlib.h>
#include <time.h>
FILE *dat;
typedef struct pila
{
int codigo;
char nombre[20];
struct pila *sig;
}*PILA;
struct NODO
{
PILA pila;
struct NODO *next;
};
NODO * CrearLista(PILA,NODO*);
NODO * push(PILA*, NODO *);
void MostrarLista(NODO*);
void main(int argc,char ** argv)
{
int n,m,i;
PILA p=NULL;
NODO *head=NULL;
dat=fopen("containers.txt", "r");
printf("Ingrese el numero de Pilas : ");
scanf("%d", &m);
system("cls");
printf("Ingrese el tamaño de las Pilas : ");
scanf("%d", &n);
for(i=0;i<m;i++)
head=push(&p,head);
if(!fclose(dat))
printf( "n<Fichero datos_secadoras.txt cerrado>n" );
else
printf( "n<Error: datos_secadoras.txt NO CERRADO>n" );
MostrarLista(head);
system("pause");
}
NODO * push(PILA * pila, NODO *head)
{
PILA aux;
aux = (PILA) malloc(sizeof(struct pila));
aux->sig = NULL;
if(pila == NULL)
{
aux->codigo = rand();
fscanf( dat, "%sn", &aux->nombre);
*pila = aux;
printf("entro");
}
else
{
aux->codigo = rand();
fscanf( dat, "%sn", &aux->nombre);
aux->sig = *pila;
*pila = aux;
}
return CrearLista(*pila,head);
}
NODO * CrearLista(PILA pila,NODO *head)
{
NODO *p,*r;
p=head;
if(head==NULL)
{
p=new(NODO);
head=p;
p->pila=pila;
p->next=NULL;
}
else
{
while(p->next!=NULL)
p=p->next;
r=new(NODO);
p->pila=pila;
p->next=r;
r->next=NULL;
}
return(head);
}
void MostrarLista(NODO *head)
{
int i=0;
NODO *p;
p=head;
while(p != NULL)
{
printf("%dn%snn", p->pila->codigo, p->pila->nombre);
p=p->next;
}
printf("NULLnn");
}