Bonjours,
j'apprend les class et je voudrais pour m'entrainer realiser une implementation statique de type pile grace a une class.
Le code est bugé car apparament je suis dans une boucle while infinit... pourtant je verifier tout les parametres et je ne vois pas se qui cloche...
voici le code :
#include <stdio.h>
#include <conio.h>
#define MAXELEMENTS 100
//Déclaration de la classe ClassePileStatique
class ClassPileStatique
{
private :
int Tab[MAXELEMENTS];
int NbElements;
public :
void empiler(int valeur);
int depiler(void);
bool pilevide(void);
bool pilepleine (void);
ClassPileStatique(void); //Constructeur
};
//Implementation des méthodes de la pile
void ClassPileStatique::empiler(int valeur)
{
Tab[NbElements++] = valeur;
}
int ClassPileStatique::depiler(void)
{
return Tab[-NbElements];
}
bool ClassPileStatique::pilevide(void)
{
return (NbElements == 0);
}
bool ClassPileStatique::pilepleine(void)
{
return (NbElements == MAXELEMENTS);
}
ClassPileStatique::ClassPileStatique(void)
{
NbElements=0;
}
//Programme de test
ClassPileStatique ma_pile;
void main(void)
{
int saisi;
for (int i=0; i<5; i++)
{
printf("Saisissez un nombre entier : ");
scanf("%d", &saisi);
ma_pile.empiler(saisi);
printf("%d a ete empiler.\n", saisi);
}
printf("\n");
while (!ma_pile.pilevide())
printf("%d a ete depiler.\n", ma_pile.depiler());
printf("La pile est maintenant vide.\n");
getch();
}
/////////////////////////////////////////////////////////
Voila... si vous pouvier me dire ou sonts les erreurs un grand merci ^^