#include "PileCL.h"

//Structure de tests : but: annuller une partie entière

PileCL::PileCL()
  //
{
  Sommet=NULL;
}

void PileCL::Empiler(CL *elem)
  //
{
  elem->frere=Sommet;
  Sommet=elem;
}

void PileCL::Empiler(int coup)
  //
{
  CL* nv;nv=new(CL);assert(nv!=NULL);
  nv->frere=Sommet;nv->coup=coup;
  Sommet=nv;
}


void PileCL::Depiler()
  //
{
  if (Sommet==NULL)
    {cout<<endl<<"Erreur: on ne dépile pas une pile vide"<<endl;}
  else
    {
      Sommet=Sommet->frere;
    }
}

CL* PileCL::ValeurSommet()
  //
{
  if (Sommet==NULL)
    {cout<<endl<<"Erreur: on ne consulte pas le sommet d'une pile vide"<<endl;}
  else
    {
      return(Sommet);
    }
} 

int PileCL::PileVide()
  //
{
  return(Sommet==NULL);
}












