Bonjour � Tous,
J'aimerais savoir si vous pouvez m'aider � faire un appel � une fonction qui permet de retourner une liste de clients al�atoirement.
Fonction 1:
J'ai besoin maintenant d'utiliser cette liste de clients dans une autre fonction qui permet de les classer par ordre d�croissant en fonction de leur demande (sachant que les quantit�s de demandes se trouvent dans un fichier texte.
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 void affect_client_to_days(JOURS *days, donnee *data, usine1 *usine, client *cust, int TotDemCust) { int j=0; int t; int jr; int dem; int it=0; int nbr_c=1; srand(time(NULL)); int nombre_aleatoire = 0; for (jr=1; jr<=data->nbr_periodes; jr++) { days[jr].TotDemCust = 0; days[jr].nbr_clients= 0; while (((usine->dem_jour[jr]+usine->stock[jr-1]) > TotDemCust) && (it < data->nbr_clients)) { nombre_aleatoire = rand()%data->nbr_clients+1; j=nombre_aleatoire; if((cust[j].Nbvisites < cust[j].frequence)&& (days[jr].cust[j]==0)) { days[jr].nbr_clients++; cust[j].Nbvisites++; days[jr].cust[j]=1; days[jr].listcust[days[jr].nbr_clients]=j; days[jr].TotDemCust+=cust[j].demande; printf("affecter le client numero %d a la periode %d\n",nombre_aleatoire, jr); } it++; } it=0; if(usine->dem_jour[jr] > days[jr].TotDemCust) { j=1; while ((j <= data->nbr_clients) || (usine->dem_jour[jr] > days[jr].TotDemCust)) { if((cust[j].Nbvisites < cust[j].frequence)&& (days[jr].cust[j]==0)) { days[jr].nbr_clients++; cust[j].Nbvisites++; days[jr].cust[j]=1; days[jr].listcust[days[jr].nbr_clients]=j; days[jr].TotDemCust+=cust[j].demande; } j++; } } } usine->stock[jr]=usine->stock[jr-1]+days[jr].TotDemCust-usine->dem_jour[jr]; it=0; }
Fonction 2 :
Je ne sais pas c'est quoi la syntaxe qui permet de faire appel d'une fonction et l'utiliser dans une autre fonction.
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 void rechercher_max_quantite(donnee *data, client *cust) { int j = 1; int i; double max; int quantite, num_client; for (i=1; i<=data->nbr_depots; i++) { max = cust[i].demande; for (j = data->nbr_depots; j <= data->nbr_clients + data->nbr_depots; j++) { if (cust[i].demande < max) { max = cust[i].demande; quantite = i; num_client = j - data->nbr_depots; } } } if((j - data->nbr_depots - 1) == data->nbr_clients) printf("Le client %d a la quantite suivante %d\n", num_client, max); }
Merci pour vos remarques et vos r�ponses.
Cdls.
Partager