Mon tableau se vide lorsque je quitte la procédure d'ajout
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 :
Code:
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;
} |
avec ceci tout se passe bien, quand je suis dans le principal.cpp, l'affichage ne fonctionne pas car Tab ne vaut plus rien :?
Je vous laisse l'entierté de mon code, cela sera plus facile.
Merci d'avance.
beegees