Je suis nouveau en programmation et nouveau sur ce super site
je code un petit programme en C assez simple mais qui pose un problème si j'alloue dynamiquement de la mémoire :
quand j' essaye d'alloué dynamiquement de la mémoire pour la structure Facture et son champ Ligne qui est un pointeur sur la structure LigneCommande j'obtient une erreur lors de compilation
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 typedef struct { int numero; char * Ref_Produit; char * Designation; double Quantite; double PU_HT; double Taux_TVA; double Montant_TVA; double Total_TTC; } LigneCommande ; typedef struct { int NombreDeLignesParFacture ; char * Date_Facturation; char * Ref_Facture ; char * Idex_Bon_Commande ; LigneFacture * Ligne ; /* Pointeur sur la structure LigneCommande */ double Montant_Total_Facture_HT; double Montant_Remise_Facture; double Montant_Total_TVA; double Montant_Total_TTC; } Facture;
voici le code
Pouvais vous m'aider ?
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 Facture * tabFacture ; printf("Nombre de facture ?: "); scanf("%d",&nombreDeFacture); getchar(); tabFacture = (Facture *) realloc( tabFacture , (nombreDeFacture + 1 ) * sizeof(Facture)); printf("Nombre de lignes par la facture "); scanf("%d",&nombreDeLignesParFacture); getchar(); for( i = 0 ; i < nombreDeFacture ; i++ ) facture[i]->Ligne = (LigneFacture*) malloc(nombreDeLignesParFacture * sizeof(LigneFacture));
Partager