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 : 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;	
}
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