Bonjour à tous je débute en c# et je bloque vraiment sur un point. Alors je vous explique mon problème : j'ai 3 classes une qui est Bibliotheque une autre Etagere et une autre Document.
Je dois mettre les documents dans un tableau qui est Etagere, et ces Etageres sont dans un autre tableau qui est la Bibliotheque.
Pour ajouter des documents à partir de l'étagere j'utilise une méthode qui ajoute un document au premier indice de libre. En suite là ou je bloque c'est que je dois pouvoir ajouter des documents à partir de la bibliothèque à la première au premier indice de la première etagere de libre.
Voici ma classe Etagere
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 class Etagere { private int indice; private Document[] listeDocument; private const int MAX_DOCUMENT = 20; public Etagere() { this.listeDocument = new Document[MAX_DOCUMENT] ; this.indice = 0; } public void AjouterDocument(Document d) { if (EstPleine) { Console.WriteLine("L'étagère est pleine"); } else { listeDocument[indice] = d; indice = indice + 1; } } public void AfficherEtagere() { for (int i = 0; i < MAX_DOCUMENT; i++) { Console.Write(listeDocument[i]); Console.Write("\n---------case " + i + "\n"); } } public bool EstPleine { get { return indice > MAX_DOCUMENT; } } public Document RechercheDocumentParTitre(string titre) { for (int i = 0 ; i < MAX_DOCUMENT ; i++) { if ( listeDocument[i].Titre == titre) return listeDocument[i]; } return null; } }
Et voici ma classe bibliotheque
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
36
37
38
39
40
41
42
43
44
45
46
47 class Bibliotheque { private int indice; private Etagere[] listEtagere ; private const int MAX_ETAGERE = 5 ; public Bibliotheque() { this.listEtagere = new Etagere[MAX_ETAGERE]; this.indice = 0; } public bool BiblioEstPleine { get {return indice > MAX_ETAGERE;} } public void AjouterEtagere(Etagere e) { if (BiblioEstPleine) { Console.WriteLine(" La bibliothèque est pleine !");} else { listEtagere[indice] = e; indice = indice + 1; } } public void AjouterDocumentBibliotheque(Document d) { if (BiblioEstPleine) { Console.WriteLine(" La bibliothèque est pleine"); } else { } } }
Et à partir de là je ne sais pas du tout comment procéder pour le cas où ma bibliothèque n'est pas pleine, trouver une étagère de libre et mettre mon document sur un indice de libre.
Merci par avance pour votre aide.
Partager