Bonjour,
Je suis en train d'écrire cette fonction .
void afficheRefClients(CLIENT *tabClients, int nbClients)
Elle prend en paramètre un CLIENT dont la définition est la suivante :
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 :
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
Partager