-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStructure.h
314 lines (134 loc) · 6.38 KB
/
Structure.h
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
#pragma once
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR -1
#define CLIENT_ID_MAX 9999
#define CLIENT_NOM_MAX 21
#define CLIENT_PRENOM_MAX 21
#define CLIENT_ADRESSE_MAX 51
#define CLIENT_VILLE_MAX 21
#define CLIENT_CodePostal_MAX 6
#define CLIENT_TELEPHONE_MAX 11
#define CLIENT_MotDePasse_MAX 5
#define CLIENTFILE_MAX 1000
#define ARTICLE_ID_MAX 9999
#define ARTICLE_NOM_MAX 21
#define ARTICLE_DESCRIPTION_MAX 21
#define ARTICLE_TYPE_MAX 21
#define ARTICLEFILE_MAX 1000
#define CODE_RETRAIT_MAX 9999
#define QUANTITY_MAX 9999
#define COMMANDEFILE_MAX 1000
#define ENTREPOT_ID_MAX 9999
#define HAUTEUR_MAX 9999 //en cm
#define LARGEUR_MAX 9999
#define PROFONDEUR_MAX 9999
#define ARTICLESRTOCKSFILE_MAX 1000
#define STATION_ID_MAX 255
#define SLOT_ID_MAX 9999
#define ENTREPOTFILE_MAX 1000
#define DISPONIBLE 1
#define INDISPONIBLE 0
#define SEPARATEUR ';'
/*--------------------------------------------------------------------*/
/* DONNEES STOCKEES */
/*--------------------------------------------------------------------*/
/*La structure qui défini un client (UNE LIGNE) */
typedef struct Client {
int ID; //4 chiffres pour l'ID
char Nom[21]; //Nom de 20 caractère alpha ( +1 pour le \0 de fin de chaine de caractère )
char Prenom[21]; //Prenom de 20 caractère alpha ( +1 pour \0 de fin de chaine de caractère)
char Adresse[51]; //localisation ( adresse ) du client, 50 caractères ( +1 pour \0 de fin de chainede caractère )
char Ville[21]; //La ville du client (+1 pour le \0)
char CodePostal[6];
char Numero[11]; //numéro de téléphone, 10 chiffres dit caractère numérique ( et PAS alphanumérique ) (+1 pour le \0 de fin de chaine de caractère )
char MotDePasse[5]; //Mot de passe de 4 caractère alphanumérique (+1 pour le \0à de fin de chaine de caractère)
} Client;
/*La structure qui regroupe tous les clients (UN FICHIER) */
typedef struct ClientSeul //Déclaration d'un élément individuel de la liste
{
Client client;
struct ClientSeul *next; //On définit un pointeur sur l'élément suivant
}ClientSeul;
typedef struct ListeClient //Déclaration de la liste en elle-même avec une tête de liste, une queue de liste et la taille de la liste
{
ClientSeul *head;
int size;
ClientSeul *tail;
}ListeClient;
typedef struct ClientFile
{
int NombreDeClient;
ListeClient *BDDclient;
} ClientFile;
/*La structure qui definit un Article (UNE LIGNE) */
typedef struct Article {
int ID; //4 chiffres pour l'ID
char Nom[21]; //Nom de l'article de 20 caractère ( +1 pour le \0 de fin de chaine de caractère )
char Description[21]; //Description de l'article de 20 caractère de long ( +1 pour le \0 de fin de chaine de caractère )
char Type[21]; //Type de l'article de 20 caractère de long
} Article;
/*La structure qui regroupe tous les articles défini (UN FICHIER) */
typedef struct ArticleFile {
Article *TableauDesArticles; //Un pointeur sur un tableau d'article (Necessite un malloc et des realloc)
int NombreArticles; //Nombre d'article dans ce fichier d'article
} ArticleFile;
/*La structure qui defini une commande (UNE LIGNE) */
typedef struct Commande {
int ClientID; //L'ID du client qui passe la commande
int ArticleID; //L'ID de l'article que le client a commander
int Quantity; //La quantité de c et article que le client à commander
int CodeRetrait; //Le code que le client doit taper afin de retirer son colis dans les pickup Station
} Commande;
/*La structure qui regroupe toutes les commandes (UN FICHIER) */
typedef struct CommandeFile {
Commande *TableauDesCommandes; //Un pointeur qui pointe sur un tableau de toutes les commandes
int NombreDeCommande; //Le nombre de commandes dans ce fichier de commande
} CommandeFile;
/*strucutre qui défini les stocks d'un article dans un entrepot (UNE LIGNE) */
typedef struct ArticleStocks {
int EntrepotID; //ID de l'entrepot (USELESS)
int ArticleID; //ID de l'article
int Quantity; //Quantité en stock de cet article
int Hauteur; //Hauteur de l'article
int Largeur; //Largeur de l'article
int Profondeur; //Profondeur de l'article
} ArticleStocks;
/*structure qui defini tous les article stockées dans un entrepot (UN FICHIER) */
typedef struct StocksEntrepot {
ArticleStocks *TabArticleStock; //Un pointeur qui pointe sur un tableau qui liste tous les articles en stocks dans CET entrepot
int NombreArticle; //Le nombre d'article DIFFERENT en stock
} StocksEntrepot;
/*structure qui defini un entrepot (le dossier ou il faut aller voir son stock) (UNE LIGNE) */
typedef struct Entrepot {
int EntrepotID; //ID de l'entrepot
char NomDuDossier[16]; //Nom du dossier dans lequel se trouve le dossier stock de cet entrepot
} Entrepot;
/*structure qui contient tous les emplacements des dossier des entrepots (UN FICHIER) */
typedef struct EntrepotFile {
Entrepot *TabEntrepot; //Un poiteur qui pointe sur un tableau listant chaquun des entrepots
int NombreEntrepot; //Nombre d'entrepot a disposition
} EntrepotFile;
/*structure qui defini une station (UNE LIGNE) */
typedef struct Station {
int PickupStationID; //L'ID de la pickup station
int SlotID; //L'ID du slot de cette pickup station
int Hauteur; //La hauteur de ce slot
int Largeur; //La largeur de ce slot
int Profondeur; //La profondeur de ce slot
int Disponible; //Si slot disponible mettre a 1, sinon 0
} Station;
/*structure qui regroupe toutes nos stations*/
typedef struct StationFile {
Station *TableauDesStation; //pointeur qui pointe vers un tableau qui liste les stations a disposition
int NombreDeStation; //Le Nombre de station a disposition
} StationFile;
/*structure achat*/
typedef struct Achat {
int AchatID; //L'ID de l'achat... ? Pas compris c'etait pendant la pause y avais plus personne pour me repondre... :(
} Achat;
/*structure dispatching*/
typedef struct Dispatching {
int DispatchingID; //L'id du dispatching... Pareil :'(
} Dispatching;