Bonjour,

Je suis en train d'écrire cette fonction .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
void afficheRefClients(CLIENT *tabClients, int nbClients)
Elle prend en paramètre un CLIENT dont la définition est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
typedef struct CpteCLIENT
{ 
  char name[MAX_IDENT_NAME];
  CPTEBQUE *cpteCourant;
  CPTEBQUE *cpteSuisse;
} CLIENT ;
tabClients est rempli de cette façon :

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
CLIENT* createTabClients(FILE *file)
{
	CLIENT clientCourant; 
	CPTEBQUE compteCourant; 
	CPTEBQUE compteSuisse; 
 
	// Nombre de clients
	int nbClients = getNumberClient(file); 
 
	CLIENT *tabClients; 
	tabClients = (CLIENT*)malloc(nbClients*sizeof(CLIENT)); 
 
	// Initialisation
	for(int i = 0; i < nbClients; ++i) 
	{
		strcpy(clientCourant.name ,getClientName(file)); 
		compteCourant.ident = getCpteCourantId(file); 
		compteCourant.credit = (double)getCredit(file); 
		compteCourant.debit = (double)getDebit(file);
 
		if(getCpteCourantId(file) != 0)
		{
			compteSuisse.ident = getCpteSuisseId(file); 
			compteSuisse.credit = (double)getCredit(file); 
			compteSuisse.debit = (double)getDebit(file); 
 
			clientCourant.cpteSuisse = &compteSuisse; 
		}
 
		clientCourant.cpteCourant = &compteCourant; 
		tabClients[i] = clientCourant; 
		// printf("%s\t %f\n", tabClients[i].name, (*tabClients[i].cpteCourant).credit); 
	}
 
	return (tabClients); 
}
En lançant la première fonction, tabClients semble bien contenir la liste des CLIENT avec les caractéristiques.

Une fois le curseur entré dans la fonction, le premier client de tabClients possède des montants (crédit et débit) qui ressemblent à -9.23589...

Où se trouve l'erreur ?

Merci beaucoup