Bonjour!
Je suis en train de coder un petit programme de gestion d'une bibliothèque.
Ma class Bibliothèque contient un tableau d'objets Ouvrage : listeOuvrages
ma class Bibliothèque contient une méthode getOuvrage qui prend en argument un titre d'ouvrage et qui renvoie l'ouvrage correspondant s'il existe:
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 #ifndef _BIBLIOTHEQUE_ #define _BIBLIOTHEQUE_ /**********************************************/ #include <vector> #include "Ouvrage.h" #include "Abonne.h" class Bibliotheque{ private: std::vector<Ouvrage*> listeOuvrages; // std::vector<Abonne*> listeAbonnes; public: Bibliotheque(); void ajoutOuvrage(Ouvrage *ouvrage); Ouvrage getOuvrage(std::string titre); // void ajoutAbonne(Abonne *abonne); Abonne getAbonne (int id) const ; void Emprunter(std::string titre, int id); void rendre(int id); void info() /*const*/ ; ~Bibliotheque(); }; /**********************************************/ #endif
Cette méthode doit renvoyer un objet ouvrage.
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 Ouvrage Bibliotheque::getOuvrage(std::string titre){ if (listeOuvrages.size() == 0){ std::cout << "Il n'y a aucun ouvrage dans la bibliothèque." << std::endl; // QUE PUIS-JE RETOURNER? } else{ for (int i=0; i<listeOuvrages.size();i++){ if (listeOuvrages[i]->getTitre() == titre){ std::cout << "Ouvrage envoyé." << std::endl; return *listeOuvrages[i]; } else{ std::cout << "L'ouvrage n'est pas dans la bibliothèque." << std::endl; // QUE PUIS-JE RETOURNER? } } } }
Lorsque mon tableau d'Ouvrages contient au moins 1 élément qui correspond à la demande, la méthode fonctionne parfaitement.
Mais quand le tableau est vide ou alors que l'Ovrage demandé n'est pas dans le tableau d'Ouvrages qu'est ce que je peux retourner? (Dans le code ci-dessus, se référer au commentaire QUE PUIS-JE RETOURNER?)
Merci beaucoup par avance pour votre aide
Letthieum
Partager