slt !

J'ai un accés violation , que je n'arrive pas à capter ! ( je sais même pas pourquoi il me le mets , mais je bafouille un peu)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void enregistrement_fichier(Pays p[],int cmp)
{
	ofstream SortieFichierPays("donnees_bis.dat",ios::app);
 
	if(!SortieFichierPays)
	{
		cerr<<" Ouverture du fichier impossible "<<endl;
		exit(1);
	}
	SortieFichierPays<< p[cmp].p_nom_pays <<' '<<p[cmp].p_continent <<' '<< p[cmp].p_nb_population <<'\n';
}
voici la fonction appelante :

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
 
void saisie_donnees(Pays str_p[])
{		
 
	int rep;
	bool saisir_encore=true;
	while(saisir_encore==true)
	{
		cout<<" nom du pays :\n";
		cin>>str_p[compteur].p_nom_pays;
		cout<<" continent :\n";
		cin>>str_p[compteur].p_continent;
		cout<<" nombre de sa population :\n";
		cin>>str_p[compteur].p_nb_population;
		cout<<"le taux d'analphabetes :\n";
		cin>>str_p[compteur].p_taux_analphabete;
		cout<<"le pourcentage d'universitaires \n";
		cin>>str_p[compteur].p_pourcentage_universitaires;
		cout" pbn ? \n";
		cin>>str_p[compteur].p_pbn;
		cout<<" voulez vous ajouter un pays ? 0/non 1/oui ";
		cin>>rep;
		enregistrement_fichier(str_p,compteur); // on enregistre le tout dans un fichier
		if(rep==1)
			compteur++;
		else if(rep==0) 
			saisir_encore = false;
	}
 
 
}
( en fait je veux une copie en mémoire , sinon il est clair que l'utilisation d'un tableau de struct est inutile )

et voilà ma structure pays :

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
 
typedef struct 
{
	string p_nom_pays;
	Date p_date[189];
	string p_continent;
	unsigned int p_nb_population;
	//string p_langues_officielles[10];
	float p_taux_analphabete;
	float p_pbn;
	float p_pourcentage_universitaires;
	unsigned int nbre_langues;
 
 
}Pays;
( bon , ya certaines données que je n'utilise pas encore)

Quel est le problème ?
au moment de l'execution , juste après le : voulez vous ajouter un pays , je tappe 0 et là il me sort la fameuse dialog box de windows ><

merci