#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
typedef struct Tnodo{
  int dato;
  Tnodo *sgt;
};
 
void menu();
void imprimir(Tnodo *);
void agregar1(Tnodo *);
Tnodo *lista;
char k;
void main()
{  lista=NULL;
 
  while (k!='7')
  {   menu();
    cin >> k;
    if (k=='1')
      agregar1(lista);
    if (k=='5')
      imprimir(lista);
 
  }
}
void menu()
{   system("cls");
  cout << "[MENU PRINCIPAL]" << endl;
  cout << "1 >> AGREGAR NODO AL PRINCIPIO" << endl;
  cout << "2 >> AGREGAR NODO AL FINAL" << endl;
  cout << "3 >> AGREGAR NODO EN UN LUGAR ESPECIFICO" << endl;
  cout << "4 >> ELIMINAR NODO" << endl;
  cout << "5 >> IMPRIMIR LISTA" << endl;
  cout << "6 >> VACIAR LISTA" << endl;
  cout << "7 >> SALIR" << endl;
  cout << "  >> [OPCION]: ";
 
}
void agregar1(Tnodo *L)
{   Tnodo *n=new Tnodo;
  n=NULL;
  n->dato=3;
  n->sgt=L;
  L=n;
}
void imprimir(Tnodo *L)
{   Tnodo *I=new Tnodo;
  I=L;
  while (I)
  {   cout << I->dato << endl;
    I=I->sgt;
  }
}