All pastes #943668 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-15 13:48 UTC
rendered paste body
#include <iostream>
using namespace std ;

struct pile
{
	int valeur ;
	pile *suivant;
};

class Objet_Pile
{
	private : 
		int nb_elem ;
		pile *debut ;


	public :
	Objet_Pile();
        
	void affichage();
	void remplir(int elem);
	int depiler();
	bool pile_vide();
	int get_nb_elem();
};

int Objet_Pile::get_nb_elem()
{
	return nb_elem ;
}

Objet_Pile::Objet_Pile()
{
	nb_elem = 0 ;
	debut=NULL ;
}

bool Objet_Pile::pile_vide()
{
	int i = get_nb_elem() ;
	if (i==0)
	{
		cout << "Pile vide, impossible de dépiler plus" << endl ;
		return false ;
	}
	else
	{
		cout << "On peut encore dépiler" << endl ;
		return true;
	}
}

void Objet_Pile::remplir(int elem)
{
	int i = get_nb_elem();
	if (i==0)
	{
		pile *tmp = new pile();
		
		(*tmp).valeur=elem;
		(*tmp).suivant=0;
		debut=tmp ;
		
		nb_elem++;
	}
	
	
	// Vu que c'est simplemement chaine pas besoin de prec
	else  
	{
		pile *tmp = new pile();
		//pile *prec = new pile();

		tmp = debut ;

		while ((*tmp).suivant != NULL)
		{
			//prec = tmp ;
			tmp = (*tmp).suivant ;
		}
		(*tmp).valeur=elem;
		(*tmp).suivant=0;
		nb_elem++ ;
	}
}

void Objet_Pile::affichage()
{
	
        pile *tmp=debut;
        while(tmp != NULL)
 	      {
         	  cout << (*tmp).valeur << "\t";
	          tmp = (*tmp).suivant;
	       }
	 cout << endl;

}
	
int main()
{
	Objet_Pile a ;
	a.remplir(5);

	a.remplir(4);

	a.remplir(6);
	a.affichage();
	return 0 ;
}