Compiler une liste chaînée
bonjour je suis débutant en c++ j’essaye de compiler mon programme mais ça ne marche pas svp j'ai besoin d'aide merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #ifndef FLISTE_H
#define FLISTE_H
#include <iostream>
class FListe
{
public:
FListe();
~FListe();
void creerListe();
void ajouterElement(int val);
void supprimerElement();
void afficherListe();
int nombreListe();
private:
int p_premier;
int quantite;
int nmbreElement;
Element *nouveau;
Element *elm;
Element *p_suivant;
int val;
};
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| #include <iostream>
#include "FListe.h"
using namespace std;
const int FListe::nbreElement = 20;
FListe::FListe(){p_premier=0;quantite=0;}
FListe::~FListe()
{
while (this->p_premier!=0) // Tant que la liste n'est pas vide
{
supprimerElement();
}
cout << "La liste a ete supprimee"<<endl;
}
void FListe::creerListe()
{
// L'utilisateur rentre les 20 éléments de la liste
while (quantite<nbreElement)
ajouterElement();
}
void FListe::ajouterElement(int val)
{
if(quantite<nbreElement)
{
// Création objet dynamique
Element *nouveau=new Element;
cout<<"Valeur = ";
cin>>val;
// On ajoute le nouvel élément en début de la liste
nouveau->p_suivant = this-> p_premier;
this->p_premier = nouveau;
(this->quantite)++; // On incrémente le nombre d'éléments dans la liste
}
else
{
cout<< "La liste ne peut contenir plus de "<<nbreElement<<" elements. ";
cout<<"Vous devez en supprimer un pour en ajouter un autre."<<endl;
}
}
void FListe::supprimerElement()
{
if (this->p_premier!=0)
{
Element* elm = this->p_premier; // e pointe sur le 1er élément
this->p_premier = elm->p_suivant; // p_premier pointe sur le 2ième élément
delete elm; // On supprime le 1er élément
(this->quantite)--; // On décrémente de 1 le nombre d'élément de la liste
}
else cout<<"Suppression impossible car la liste est vide"<<endl;
}
void FListe::afficherListe()
{
if (this->p_premier==0) cout <<"La liste est vide " <<endl;
else
cout << "Liste = " <<endl;
for (Element *elm = this->p_premier; elm !=0; elm=elm->p_suivant)
cout << elm->m_valeur << " ";
cout <<endl;
}
// Nombre d'éléments dans la liste
int FListe::nombreListe(){return this->quantite;} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <cstdlib>
#include <iostream>
#include "FListe.h"
main()
{
cout<<"Debut de liste\n";
FListe l;
l.creerListe();
l.afficherListe();
cout<<"Fin de liste\n";
l.supprimerElement();
system("PAUSE");
return 0;
} |