begin process at 2012 05 29 08:47:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

HELP !!! (liste ...)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

HELP !!! (liste ...)

samedi 17 avril 2004 à 11:47:09 | HELP !!! (liste ...)

antgre

Bonjour,

J'essaye de creer une liste chainee contenant des objet point (que g definis dans une autre classe qui a ete testee et qui marche) ... Quand j'essaye de la compiler, il me renvoit

168: "List" undeclared (first use this function)
etc ...

Je ne vois pas comment faire ... Qq sait m'aider ???

Merci bcp ...
(c important c pour les etudes ... arghhhh)

voici le code si voulez jeter un oeil et essayer de compiler :

#ifndef List_h
#define List_h
/*
@ author: Robert Delmï¿o
Pierre Mengeot
@ date : 6 mai 2003
classe permettant la gestion d'une structure de donnï¿o de type liste et
utilisant la classe template.
*/
#include <iostream>
#include "point.cpp"

template <class T>
class List
{
public: List();
~List();
bool add(T *ele);
T *remove();
void next();
void setElement(T *ele);
T *getCurrent();
int getLength()const;
bool isEmpty() const;
bool isOk() const;
bool isFirst();
bool isEnd() const;
void setFirst();

private:

//dï¿oinission d'une structure de donnï¿os
typedef struct NOEUD{
struct NOEUD *next;
T *element;
}Node;

Node *head;
Node *tail;
Node *current;


};




//Constructeur
template <class T>
List<T>::List(){
head = current =tail = new Node;
head->next = NULL;
current->next = NULL;
tail->next = NULL;
};

//destructeur
template <class T>
List<T>::~List(){
setFirst();
while(!isEmpty()){
Node *del;
del=current->next;
current->next=del->next;
delete del;
}
delete head;
delete tail;
delete current;
}

//Mï¿ohode ajoutant un ï¿oï¿oent dans la liste
template <class T>
bool List<T>::add(T *ele){
bool isFail = (current == NULL);
if (current!=NULL){
Node *pro;
pro = new Node;
pro->next = current->next;
pro->element = ele;
current->next= pro;
if (tail == current)tail=current->next;
}
return isFail;
};

//verifie que current ne pointe pas vers un ï¿oï¿oent NULL
template <class T>
bool List<T>::isOk() const{
return current != NULL && current->next != NULL;
};

//supprime current de la liste et renvoie l'ï¿oï¿oent contenu dans le noeud
template <class T>
T *List<T>:: remove(){
T *rem = NULL;
if (isOk()){
rem = current->next->element;
Node *remo=current->next;
current->next=remo->next;
if (tail == remo) {
tail = current;
}
delete remo;
}
return rem;
};

//place current sur le noeud suivant
template <class T>
void List<T>::next(){
if (current!= NULL){
current = current->next;
}
};


template <class T>
void List<T>::setElement(T *ele){
if(isOk()){
current->next->element = ele;
}
};

//retourne l'ï¿oï¿oent qui se trouve dans le noeud aprï¿o current
template <class T>
T *List<T>::getCurrent(){
T *el=NULL;
if (isOk()){
el=current->next->element;
}
return el;
};

//retourne la longueur de la liste
template <class T>
int List<T>::getLength()const{
int counter = 0;
Node *temp;
temp = head;
while(temp->next != NULL){
counter++;
temp = temp->next;
}
return counter;
};

template <class T>
bool List<T>::isEmpty() const{return head->next == NULL;};

template <class T>
bool List<T>::isEnd() const{return current->next == NULL;};

template <class T>
bool List<T>::isFirst() {return current->next->next == NULL;};

template <class T>
void List<T>::setFirst(){current = head;};


int main() {

point *P1 = new point(0.0,0.0,0.0,0.0);
point *P2 = new point(1.0,1.0,0.0,0.0);
point *P3 = new point(2.0,2.0,0.0,0.0);


List L1; ICI CA FOIRE

L1->add(P1);
L1->add(P2);
L1->add(P3);

/* cout<< "|---------------------|" << endl;
cout<< "| TEST CLASSE LIST : |" << endl;
cout<< "|---------------------|" << endl;
cout<< " ca doit donner 1 : " << endl;
cout<< a << endl;
cout<< " ca doit donner 2 : " << endl;
cout<< b << endl;
cout<< " ca doit donner 3 : " << endl;
cout<< c << endl;
cout<< " ca doit donner 4 : " << endl;
cout<< d << endl;
cout<< " ca doit donner 5 : " << endl;
cout<< e << endl;

cout<< "|---------------------|" << endl;
cout<< "|FIN DU TEST : bravo !|" << endl;
cout<< "|---------------------|" << endl;*/

return 1;
};

#endif

samedi 17 avril 2004 à 13:31:29 | Re : HELP !!! (liste ...)

djl


ben c'est du gros bricolage ton truc

deja n'inclu jamais de .cpp, en c++ tu peux utiliser 0 a la place de NULL, aussi struct = class donc pas la peine de planquer une struct derriere un typedef

met la declaration de ta classe liste dans un .h et inclu ds le .cpp ou ya le main
samedi 17 avril 2004 à 15:18:05 | Re : HELP !!! (liste ...)

vecchio56

Administrateur CodeS-SourceS
tu as défini List comme un modèle donc tu dois faire
List<point*> L1;

pour que L1 soit une liste de point*
samedi 17 avril 2004 à 15:19:36 | Re : HELP !!! (liste ...)

vecchio56

Administrateur CodeS-SourceS
et puis enlève tous ces ; inutiles à la fin de chaque bloc
samedi 17 avril 2004 à 16:47:44 | Re : HELP !!! (liste ...)

antgre

merci ...

J'avoue que c pas mal bricolé ... Mais bon ;-) Faut bien se lancer ...


Cette discussion est classée dans : list, cout, next, current, endl


Répondre à ce message

Sujets en rapport avec ce message

erreur "Segmentation fault" en C++ [ par antgre ] Bonjour a tous,Je travaille sur un programme dont une partie doit implementer une liste de points.Chaque point comprenant un certain nombre de caracté Debug de source à la con [ par PsyCaDi ] Bon voilà, je commence en C++ et j'ai envie de faire un petit prog pour faire des calculs avec des matrice enfin bref mon PB c'est que le code que j'a Les pointeurs : aie aie ! [ par coyotte49 ] Salut ! Je fais un p'tit topic sur les pointeurs, parce que la confusion règne ! J'ai compris la base de chez base pour les pointeurs, mais dans certa cin.getline(str, 256) [ par ronandmcdonald ] Salut je voulais savoir comment cela se fess que je peux pas utiliser cin.getline dans une fonction que voila :bool RS232::Write_RS232(){DWORD dwWritt LISTE D'OBJET ... heeeeeeeeeeelpppppppppppp [ par antgre ] Bonjour,J'ai encore un petit probleme ;-)Je dois créer une liste d'obljet POINT ... La classe point a été définie et fonctionne très bien, la classe l erreur dans la fonction d'impression [ par dark_cross ] voici j'ai une erreur dans ma fonction d'impression si quelqu'un peux m'expliquer, je serais tres ravie.#include #include //speciale dedicasse Etienne besoin d'eclaircissement sur les classes et pointeurs [ par oliarn ] bonjour,je fais un programme en c++ pour la fac e tj'aimerai savoir comment manipuler mes classes dans mon programmes.voila une fonction par exemple m imcomprehension const_cast [ par omi ] Je ne comprennait pas l'utilité de const_cast alors j'ai pris un exemple : const int cst = 20;int *z = const_cast(&cst);*z = 30;cout cout << fichier exel (lecture et ecriture) [ par rissorg ] Bonjour a tous!j'essaye de faire un programme qui doit lire differents fichiers exel ,comparer les donnees lu au donnees contenu dans un fichier text Rediriger le flux cout vers une chaine [ par tanguy_laverdure ] Bonjour,J'utilise la méthode ci-dessous pour afficher dans la fenetre console des informations.void __fastcall Solution::Affiche(){ cout cout <&l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales