Bonjour tout le monde,
J'ai un programme qui est essentiellement écrit en C (une toute petite partie en C++ --> les &).
J'ai un gros problème :
J'arrive à charger dans un tableau le nom des vins, leurs appréciations, leurs prix mais quand je reviens dans le principal.cpp, mon tableau est vide alors qu'il a été rempli dans eonologie.cpp.
Je présûme qu'il s'agit d'un problème de variable locale mais ça fait plusieurs heures que je cherche sans succès.
Voici mes deux fonctons d'ajout :
avec ceci tout se passe bien, quand je suis dans le principal.cpp, l'affichage ne fonctionne pas car Tab ne vaut plus rien
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 void TabAppreciations_Ajouter(TTabVins& Tab, const char* Nom, long Appreciation) { long Indice = TabVins_Rechercher(Tab,Nom); Tab.Tableau[Indice].Appreciation += Appreciation; Tab.Tableau[Indice].Nombre++; } bool TabVin_Ajouter(TTabVins& Tab,const char* Nom,double PrixVin) { if (TabVins_Rechercher(Tab,Nom) >= 0) return true; TVin VinAAjouter; Vin_Initialiser(VinAAjouter); if (!Vin_Definir(VinAAjouter,Nom,PrixVin)) { // Vin_Detruire(VinAAjouter); // return false; } void* Nouveau = realloc(Tab.Tableau,(Tab.Nombre+1)*sizeof(TVin)); if (Nouveau == NULL) { // Vin_Detruire(VinAAjouter); return false; } Tab.Tableau = (TVin*)Nouveau; Tab.Tableau[Tab.Nombre] = VinAAjouter; //j'ajoute le Prix du vin dans Tab Tab.Tableau[Tab.Nombre].Prix = PrixVin; Tab.Nombre++; return true; }
Je vous laisse l'entierté de mon code, cela sera plus facile.
Merci d'avance.
beegees
Partager