voilà, mon programme n'enregistre toujours pas, je ne sais pas pourquoi, surtout qu'il fait comme si c'etait le cas, je desepesere,
voici mon programme( desole il est un peu long)
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string.h>
#define max 19
#define max2 51
/* Prototypes */
void nouvellesfamilles();
void approvisionnement();
void chequesemis();
void solde();
void releve();
void chargement();
void enregistrement();
void depart();
void initialiser();
/* Nom des fichiers */
FILE * familles;
FILE * cheques;
/* Variables */
typedef struct
{
int no;
char nom[20];
int nbpers;
int appro;
}Tenrfamilles;
Tenrfamilles Tfamilles[20];
int Tcheques[max2][max];
int bungalow[20];
int i,enr ;
char res;
void main()
{
// chargement();
initialiser();
int choix;
do
{
cout<<"\n Gestion des comptes cheques club.";
cout<<"\n 1- saisir la liste des nouvelles familles.";
cout<<"\n 2- saisir un approvisionnement de compte." ;
cout<<"\n 3- Saisir les cheques emis de la journee.";
cout<<"\n 4- lister les familles dont le solde est negatif." ;
cout<<"\n 5- lister le releve de compte d'une famille" ;
cout<<"\n 6- sauvegarder les donnees sur le disque.";
cout<<"\n 7- enregistrer les departs";
cout<<"\n 0 quitter le programme." ;
cout<<"\n votre choix ?";
cin>>choix;
switch(choix)
{case 1:nouvellesfamilles();
break;
case 2:approvisionnement();
break;
case 3:chequesemis();
break;
case 4:solde();
break;
case 5:releve();
break;
case 6:enregistrement();
break;
case 7: depart();
break;
}
} while(choix!=0);
if (enr==0)
{
cout<<"\n vous n'avez pas enregistre vos modifications,souhaitez vous le faire?(O/N)";
cin>>res;
if(res==0)
{
enregistrement();
}
cout<<"\n au revoir";
}
getch();
}
/* option 1*/
void nouvellesfamilles()
{
int nb;
char rep;
rep='o';
nb=1;
// i=0;
while( rep=='o')
{
/** on verifie que le bungalow est vide **/
// while(i!=1 || nb>=max)
// { cout<<" rentre dans la boucle";
// nb++;
// if(Tfamilles[nb].nom == " ")
// {
// i=1;
// }
// }
if(nb>=max)
{
cout<<"\n le village vacances est complet, vous ne pouvez plus rajouter de famille.";
cout<<"\n ";
rep='n';
}
else
{
cout<< "\n bungalow no "<< nb;
cout<<"\n entrer le nom:";
cin>>Tfamilles[nb].nom;
cout<<"\n entrer le nombre de personnes:";
cin>>Tfamilles[nb].nbpers;
nb=nb++;
cout<<"\n voulez vous entrer une autre famille?(o/n)" ;
cin>> rep;
}
}
enr=0 ;
}
/* Option 2*/
void approvisionnement()
{int mont,i,r;
char rep[20];
char res,res2;
do
{
i=1;
do
{
cout<<"\n entrer le nom:";
cin>>rep;
do
{ if (strcmp(Tfamilles[i].nom, rep)==0)
{ cout<<"\n montant credite?";
cin>>mont;
cout<<"\n etes vous sur du montant?(O/N):";
cin>>res;
}
else
{ cout<< "\n ce nom ne correspond a aucun bungalow." ;
}
i=i+1;
}
while(strcmp(Tfamilles[i].nom, rep)==0 && i<=max);
}
while (strcmp(Tfamilles[i].nom, rep)==1);
Tfamilles[i].appro=Tfamilles[i].appro+ mont;
cout<<"voulez vous entrer un autre approvisionnement?(O/N):";
cin>> res2;
}while(res2=='o');
enr=0 ;
cout<< Tfamilles[i].appro ;
}
/* Option 3 */
void chequesemis()
{
i=0;
int j;
cout<<"\n lorsque la saisie est terminee ,taper 0 dans le no de bungalow";
do
{ i=0;
cout<<"\n entrer le no de bungalow:";
cin>>i;
if(i!=0)
{
cout<<"\n entrer le no d'ordre";
cin>>j;
cout<<"\n entrer le montant du cheque:";
cin>>Tcheques[i][j];
Tfamilles[i].appro= Tfamilles[i].appro -Tcheques[i][j];
cout<< Tfamilles[i].appro ;
}
}
while ( i!=0);
enr=0;
}
/* Option 4 */
void solde()
{
int i;
i=1;
do
{
if(Tfamilles[i].appro<0)
{
cout<<"\n bungalow no"<<Tfamilles[i].no;
cout<<"\n nom:"<<Tfamilles[i].nom;
cout<<"\n approvisionnement:"<<Tfamilles[i].appro;
}
i=i+1;
} while(i!=max);
enr=0;
}
/* Option 5 */
void releve()
{
i=0;
int i,j;
//char res;
//cout<<"\n voulez vous enregistrer vos donnees auparavant?(O/N)";
//cin>>res;
//if(res==0)
//{
// enregistrement();
// }
cout<<"\n entrer le no du bungalow";
cin>>i;
j=0;
while (j==max2)
{
if(Tcheques[i][j]!=0)
{
cout<<"\n no du cheque:"<<i<<"\t";
cout<<" \n montant du cheque:"<<Tcheques[i][j];
j=j+1;
}
else
{
cout<<"\n il n'y a pas de cheque emis";
j=max2;
}
}
enr=0;
}
/* Option 6:Enregistrements */
void enregistrement()
{
int i,j;
for(i=1;i<=max;i=i+1)
{
cout<<Tfamilles[i].nom;
cout<<Tfamilles[i].nbpers;
cout<<Tfamilles[i].appro;
}
familles=fopen("familles.dat","w");
if( ( familles=fopen("familles.datt","w"))==NULL)
{
perror("le fichier familles n'existent pas");
}
for(i=0;i<=max;i=i+1)
{
fprintf(familles,"%d %s %d %d ",i,Tfamilles[i].nom,Tfamilles[i].nbpers,Tfamilles[i].appro);
}
fclose(familles);
if( ( familles=fopen("cheques.dat","w"))==NULL)
{
perror("le fichier cheques n'existe pas");
}
cheques=fopen("cheques.dat","w");
for(i=0;i<=max2;i=i+1)
{for (j=0;j<=max2;j=j+1)
{fprintf(cheques,"%d ",Tcheques[i][j]);
}
}
fflush(familles);
cout<<"enregistrement fini";
enr=1;
fclose(cheques);
}
/* Options 7 */
void depart()
{ int nb;
cout<<"\n entrez le nom du bungalow desormais disponible:";
cin>> nb;
// Tfamilles[nb].nom="";
Tfamilles[nb].appro=0;
Tfamilles[nb].nbpers=0;
}
/* Chargement */
void chargement()
{
int i,j;
i=0;
familles=fopen("familles.dat","r");
while (!feof (familles))
{
fscanf(familles,"%d %s %d %d ",&Tfamilles[i].no,&Tfamilles[i].nom,&Tfamilles[i].nbpers,&Tfamilles[i].appro);
i=i+1;
}
fclose(familles);
cheques=fopen("cheques.dat","r");
while (!feof(cheques))
{
for(i=1;i<=max2;i=i+1)
{for (j=1;j<=max2;j=j+1)
{fscanf(cheques,"%d ",&Tcheques[i][j]);
}
}
}
fclose(cheques);
}
// initialiser//
void initialiser()
{ int i,j;
for(i=0;i<=max2;i=i+1)
{
for (j=0;j<=max2;j=j+1)
{
Tcheques[i,j]==0;
}
}
for(i=1;i<=max;i=i+1)
{
Tfamilles[i].no=i;
Tfamilles[i].nom=="";
Tfamilles[i].nbpers=0;
Tfamilles[i].appro=0;
}
}