Pilas_1.c



#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct Nodo
{
	char Dato;
	struct Nodo *Sig;
};

struct Nodo *Inicio = NULL;

struct Nodo *CreaNodo() { return (struct Nodo*)malloc(sizeof(struct Nodo)); }


void Guardar(char cad)
{
	cad++;cad++;
	struct Nodo *new = CreaNodo();

	new->Dato = cad;
	new->Sig = NULL;

	if ( !Inicio ) Inicio = new;	// ¿ERES EL PRIMERO?
	else
	{
		new->Sig = Inicio;
		Inicio = new;
	}
}



void Mostrar()
{

	while ( Inicio )
	{
		printf("%c\n", Inicio->Dato);
		Inicio = Inicio->Sig;
	}
}


int ciclo()
{
	char *Operacion = (char*)malloc(sizeof(char)*80);
	while ( 1 )
	{
		printf("G cad\tBO cad\tBU cad\tM\tS\n");
		printf("==> "); gets(Operacion);
		if ( Operacion[0] == 'S' ) return 1;

		switch(Operacion[0])
		{
			case 'G':	Guardar(Operacion); break;
			case 'M':	Mostrar(); //Mostrar(Inicio); printf("%s\n", Inicio->Dato);

		}
	}
}


main() { ciclo(); }