Bonjour,
Je souhaite utiliser une liste chaînée sur des départements (d'une université)
Avant même de chercher à utiliser des méthodes sur ma liste chaînée, j'ai des erreurs de compilation.
Le poblème est que je ne sais pas vraiment utiliser ces listes ...
J'utilise 4 fichiers :
Department.hh
- Department.hh
Déjà ici, je pense pouvoir ne mettre que la définition de la structure et pas parler des attributs et méthodes et donc, je n'aurais pas besoin de fichier Department.cc (voir plus loin pourquoi je les mets quand même)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class Department{ private: string departmentname; string departmentfaculty; int numberofstudents; int numberofstaffs; public: Department(string, string, int, int); string getDepartmentName(); string getDepartmentFaculty(); int getNumberOfStudents(); int getNumberOfStaffs(); //create the dynamic linked list struct NodeDepart { string departmentname; string departmentfaculty; int numberofstudents; int numberofstaffs; NodeDepart* link; }; typedef NodeDepart* NodePointer; NodePointer head; NodePointer currPointer; NodePointer newNodePointer;- Department.cc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include "Department.hh" Department::Department(string nom, string faculte, int eleve, int personnel) { departmentname=nom; departmentfaculty=faculte; numberofstudents=eleve; numberofstaffs=personnel; } //getter for departmentname string Department::getDepartmentName(){ return departmentname; } //getter for departmentfaculty string Department::getDepartmentFaculty(){ return departmentfaculty; } //getter for numberofstudents int Department::getNumberOfStudents(){ return numberofstudents; } //getter for numberofstaffs int Department::getNumberOfStaffs(){ return numberofstaffs; }- Departmentlist.hh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class Departmentlist{ private : list<Department> mylistofdepartment; NodePointer head; public: Departmentlist(const char*); Departmentlist(); ~Departmentlist(); void printDepartmentNames() const; void printPropertiesOfParticularDepartment(string nomdepart); void searchParticularDepartmentName(string recherchedepart); void AddDepartment(string nomdepartment,string facultedepartment, int etudiantsnumber,int personnelnumber); void DeleteEvent(string departtodestroy);- Departmentlist.cc
Pour le moment, dans ce fichier, je ne fais que lire, dans mon fichier department.txt, ma liste de départements (en utilisant une simple liste). A cause de cette lecture, j'ai besoin deet donc d'un constructeur prenant 4 paramètres dans Department et donc j'ai besoin de la déclaration des attributs...Department personneajouter(var1,var2,var3,var4);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Departmentlist::Departmentlist(const char* fileName) { ifstream fichier(fileName) ; cout <<"Here are the events contained in the text file event.txt :\n"; string var1; string var2; int var3; int var4; if ( fichier ) // ce test échoue si le fichier n'est pas ouvert { // cette boucle s'arrête dès qu'une erreur de lecture survient while( fichier >> var1 && fichier >> var2 && fichier >> var3 && fichier >>var4) { Department personneajouter(var1,var2,var3,var4); mylistofdepartment.push_back(personneajouter); } fichier.close(); } else { cout << "Impossible d'ouvrir le fichier !" << endl; } for (list<Department>::iterator it = mylistofdepartment.begin (); it != mylistofdepartment.end (); ++it) { cout << " Name : " << it->getDepartmentName(); cout << " Faculty : " << it->getDepartmentFaculty(); cout<< " Students : " << it->getNumberOfStudents(); cout<< " Staff: " << it->getNumberOfStaffs() <<endl; } }
Voici l'erreur que j'obtiens avec ce code :
Pour ceux qui me liront jusqu'ici, savez-vous d'où vient cette erreur?g++ -c -o Department.o Department.cc
g++ -c Department.cc -o department.o
g++ -c -o Departmentlist.o Departmentlist.cc
In file included from Departmentlist.cc:4:
Departmentlist.hh:17: erreur: ‘NodePointer’ does not name a type
make: *** [Departmentlist.o] Erreur 1
Et que dois-je faire avec mes attributs et méthodes de la classe Department?
Merci pour vos conseils
Partager