begin process at 2012 05 29 07:29:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

grosse panique!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

grosse panique!

samedi 17 avril 2004 à 10:58:47 | grosse panique!

oceane67


bonjour, c'est encore moi, je n'arrive decidement pas a trouver pourquoi mon programme n'enregistre pas dans les fichiers, c'est la grosse panique, desole mon programme est long, mais j'ai vraiment besoin d'aide merci.

#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,j ;
char res;


void main()
{ j=0;
// 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)
{ 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)
{
do
{
cout<<" bungalow numero "<<i;
cout<<"\n montant credite?";
cin>>mont;
cout<<"\n etes vous sur du montant?(O/N):";
cin>>res;
}
while ( res=='n');
}
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-1].appro=Tfamilles[i-1].appro+ mont;
cout<<"voulez vous entrer un autre approvisionnement?(O/N):";
cin>> res2;
}while(res2=='o');
enr=0 ;
cout<< Tfamilles[i-1].appro ;
}

/* Option 3 */
void chequesemis()
{
i=1;
j=0;
cout<<Tfamilles[i].appro ;
cout<<"\n lorsque la saisie est terminee ,taper 0 dans le no de bungalow";
do
{
cout<<"\n entrer le no de bungalow:";
cin>>i;
// verification des cheques existants//
do
{
j++;
cout<<"\n ordre numéro:"<<j;
cout<<"\n sommes: "<<Tcheques[i][j];
}
while(Tcheques[i][j]!=0);
if(i!=0)
{
cout<<"\n cheque no: ";
cout<<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,pos;
i=1;
pos=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;
pos=0;
}
i=i+1;
} while(i!=max);
enr=0;
if(pos==1)
{
cout<<"\n Aucun bingalow n'a le solde negatif";
}
}

/* Option 5 */
void releve()
{
i=0;
int i,j;
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 ou plus 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;

}
if( ( familles=fopen("familles.dat","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");
}
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,i,j;
cout<<"\n entrez le nom du bungalow desormais disponible:";
cin>> nb;
// Tfamilles[nb].nom=="";
Tfamilles[nb].appro=0;
Tfamilles[nb].nbpers=0;
for(i=0;i<=max2;i=i+1)
{
for (j=0;j<=max2;j=j+1)
{
Tcheques[i][j]=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;

}
}
samedi 17 avril 2004 à 11:18:57 | Re : grosse panique!

JCDjcd


Tu as fais du pas-à-pas ?,Est-ce-que tu as essaye de faire juste un fprintf normal qui ne soit pas dans un boucle et juste apres avoir fais ton fopen, d'ailleurs il serait preferable de l'ouvrir en "wt" pour specifie que c'est du texte (et non en "w"). Essaye d'isole en faisant un exemple simple :

FILE *f;
f = fopen("familles.dat","wt");
fprintf(f,"teste, pi=%lf",3.1415926535);
fclose(f);

samedi 17 avril 2004 à 11:46:20 | Re : grosse panique!

vecchio56

Administrateur CodeS-SourceS
pourquoi tu fais à moitié avec des fonctions C et à moitié avec les flux du C++?
samedi 17 avril 2004 à 12:02:46 | Re : grosse panique!

oceane67


honnetement on m'a appris le c et le c++ en meme temps et du coup je confond les deux.
pour le fichier f j'ai essaye et il reste quand meme vide.je comprend pas.
samedi 17 avril 2004 à 12:43:53 | Re : grosse panique!

pheno

t as essaye de faire ce que JCDjcd as dit??

tu peux rajouter des fflush(familles);
pour enregistrer dans le fichier ce que tu as dans le tampon


Chevalier Pheno Starboard, membre de la Freeman-Corp
samedi 17 avril 2004 à 13:59:09 | Re : grosse panique!

oceane67


oui oui j'ai essaye mais ça reste vide
, j'ai aussi ajoute le fflush(familles) mais ça ne marche pas non plus.
samedi 17 avril 2004 à 14:03:29 | Re : grosse panique!

JCDjcd


alors dans ce cas la c'est tres simple :
tu fais un nouveau projet et tu mais un main tres simple, tu fais fopen,fprintf,fclose, et c'est tout, tu appelle que ces trois fonctions, ca marche toujours pas ?
samedi 17 avril 2004 à 14:07:32 | Re : grosse panique!

oceane67


j'ia dejà essaye, mais ça a pas marche, je vais ressayer pour voir, je vais envoyer ce que j'aurai fais, je dois me gourrer quelque part
samedi 17 avril 2004 à 14:12:10 | Re : grosse panique!

oceane67


voilà le programme exact juste pour enregistrer

#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string.h>

FILE *f;

void main()
{
f = fopen("familles.dat","wt");
fflush(f);
fprintf(f,"teste, pi=%lf",3.1415926535);
fclose(f);
cout<<"rentre dans le programme";

}
et ça ne marche pas, il y a rien dans le fichier
samedi 17 avril 2004 à 14:32:38 | Re : grosse panique!

vecchio56

Administrateur CodeS-SourceS
la tu doit avoir un compilateur bizarre car en ce qui me concerne ca marche tres bien
Tu es sur que tu regarde dans le bon fichier?

1 2

Cette discussion est classée dans : int, void, cout, tfamilles, max2


Répondre à ce message

Sujets en rapport avec ce message

celà n'enregistre pas [:(!],grrrr [ par oceane67 ] 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 une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m Corection [ par Hellboy67 ] donc voila cette source est censé trier le tableau par ordre croissant mais il ne fait absolument rien je pense m'etre trompé mais ou ?#include using Urgent SVPPPPP [ par jitalia ] Voilà, pour demain j'ai un devoir en c++ à faire il s'agit d'additionner, multiplier, et soustraire 2 matrice de 4 lignes et 4 colonnes.... Voici ce probleme avec un tableau a 3 dimensions [ par tomalille ] bonjour, j'utilise un tableau a 3 dimensions dans un procedure. Je ne comprend pas du tout les resultats de l'algo que j'ai implemente. Je modifie les copier des données en memoire [ par rudybaka ] Bonjour je suis etudiant et j'aurai besoin d'aide pour une question de TP :Ecrire une fonction qui trie les valeurs d'un tableau d'éléments de type qu mot de passe [ par iam_myst ] bonjour a tous j'ai un programme qui devrait permettre de saisir un mot de passe sans voir la saisie. voici mon code: int main() { cout<<"Entrez tpe de curseurs sous linux [ par le_papy ] bonjour a tous, voila j'ai un projet d'info à faire, et j'aurais besion d'un equivalent linux (gcc) de la biblio SCONIO.H. Ou bien,plus particulierem peek : probleme a la compilation. [ par Khahazad ] Bonjour, Lorsque je veux compiler ce code (que j'ai recupéré) avec dev-cpp Il genere des erreur que je n'arrive pas a corriger : [liker error] undef Opérateur de comparaison dans une classe générique [ par benjiiim94 ] Bonjour, Je crois que pas mal d'infos sont dans le titre, il ne manque plus que la source de la classe : #pragma once #include "StdAfx.h" using n


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales