Creation de fichier
serainfo
-
loupius -
loupius -
Bonjour,mon problème est ceci:tout d'abord je suis vraiment débutant en langage,depuis qlq jours le fichier que j'ai crée n'y a pas de contenu,et plus si je place l'appel du fonction enregistrement juste a la du fonction saisie pour qu'il enregistre tout ce je vient de saisir et que en entrant la valeur de l'avance(salaire),il donne la déduction que j'ai formulé et elle m'envoie cette ci après,mais je n'arrive pas a le code et comment le résoudre.S'il vous plait veiller m'aider pour résoudre mon problème.Remarque:j'ai un contrainte de temps.
VOICIE LES CODES QUE J'AI ECRIT
#include<stdio.h>
#include <stdlib.h>
struct employer
{
//int nombre_employer;
char num_matricul[6];//numero matricul
char nom[256];//nom de l'employer
char prenom[256];//son prenom à 255 caracteurs
char date_et_lieu_de_naissance[200];
char sexe[1];
char adresse[120];
char grade[50];
char date_de_paiement;//date tous cours
// char mois[15];
// int annee;
char cin;
char delivre[120];
char etab[256];
char compte;
char sit_matrimonial[100];
char nom_du_conjoint[200];
char telephone;
int salaire_de_base;
int I;//I=indamnité
int P;//prime
int AV;//avantage
int AVANCE;//avance
int SBru;
float CNaPS;
float OMSI;
float DDR;//deduction reglementaire pour obtenir le RNI
float RNI;//revenu net imposable pour pouvoir faire calculer l'IRSA
float IRSA;
float SAP;
float SNAP;
}emp[2];//
//void enregistrement(char*fic, int i);
void saisie();//declaration de prototype de fonction saisie
void saisie(SBru,CNaPS,RNI,DDR,OMSI,IRSA,SAP,AVANCE)//definition de la fonction saisie
{
int i;//indice du tableau
i=0;//initialisation du tableau
while (i<2)//debut while i<2
{
printf("num_matricul :");
scanf("%s",& emp[i].num_matricul);
printf("nom :");
scanf("%s", emp[i].nom);
while(getchar()!='\n');//vide le tampon
printf("prenom :");
scanf("%s", emp[i].prenom);
while(getchar()!='\n');//vide le tempon
printf("date et lieu de naissance :");
scanf("%s",emp[i].date_et_lieu_de_naissance);
while(getchar()!='\n');//vide le tempon
printf("sexe :");
scanf("%s",emp[i].sexe);
printf("adresse :");
scanf("%s", emp[i].adresse);
while(getchar()!='\n');//vide le tempon
printf("grade :");
scanf("%s", emp[i].grade);
printf("date_de_paiement :");
scanf("%s",& emp[i].date_de_paiement);
while(getchar()!='\n');//vide le tempon
/*printf("mois :");
scanf("%s", emp[i].mois);
printf("annee :");
scanf("%d",& emp[i].annee);*/
printf("etab_bancaire :");
scanf("%s",&emp[i].etab);
while(getchar()!='\n');
printf("cin :");
scanf("%s",& emp[i].cin);
while(getchar()!='\n');
printf("délivrée le :");
scanf("%s",emp[i].delivre);
printf("compte :");
scanf("%s",& emp[i].compte);
printf("sit_matrimonial :");
scanf("%s", emp[i].sit_matrimonial);
printf("nom et prénom du conjoint(e) :");
scanf("%s",emp[i].nom_du_conjoint);
while(getchar()!='\n');//vide le tempon
printf("telephone :");
scanf("%s",& emp[i].telephone);
printf("=================================================\n\n");
printf("SALAIRE DE BASE[%d]: ",i);
scanf("%d",&emp[i].salaire_de_base);
printf("I[%d]: ",i);
scanf("%d",&emp[i].I);
printf("P[%d]: ",i);
scanf("%d",&emp[i].P);
printf("AV[%d]: ",i);
scanf("%d",&emp[i].AV);
printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");
emp[i].SBru=emp[i].salaire_de_base + emp[i].I + emp[i].P + emp[i].AV;
printf("SBru: %f\n",emp[i].SBru);
emp[i].CNaPS=emp[i].SBru*0.01;
if(emp[i].CNaPS>2880)//début if CNaPS
{
emp[i].CNaPS=2880;
}//fin if CNaPS
printf("CNaPS: %.2f\n",emp[i].CNaPS);
emp[i].OMSI=emp[i].SBru*0.015;
printf("OMSI: %.2f\n",emp[i].OMSI);
printf("---------------------------------------------------\n\n");
emp[i].DDR=emp[i].CNaPS+emp[i].OMSI;
printf("DDR: %.2f\n",emp[i].DDR);
emp[i].RNI=emp[i].SBru-emp[i].DDR;
printf("----------------------------------------------------\n\n");
printf("RNI: %.2f\n", emp[i].RNI);
if(emp[i].RNI<100000)
{
emp[i].IRSA=200;
printf("IRSA= 200\n ");
}
else if((emp[i].RNI>100000)&&(emp[i].RNI<=140000))
{
emp[i].IRSA=500;
printf("IRSA= 500\n");
}
if((emp[i].RNI>140000)&&(emp[i].RNI<=160000))
{
emp[i].IRSA=2000;
printf("IRSA= 2000\n");
}
if((emp[i].RNI>160000)&&(emp[i].RNI<=180000))
{
emp[i].IRSA=4000;
printf("IRSA= 4000\n");
}
if(emp[i].RNI>180000)
{
emp[i].IRSA=emp[i].RNI*0.25;
printf("IRSA: %.2f",emp[i].IRSA);
}
printf("-------------------------------------------------\n\n");
emp[i].SAP=emp[i].RNI-emp[i].IRSA;
printf("SAP: %.2f\n",emp[i].SAP);
printf("entrer la somme d'avance :");
scanf("%d",&emp[i].AVANCE);
emp[i].SNAP=emp[i].SAP-emp[i].AVANCE;
printf("-------------------------------------------------\n\n");
printf("SNAP: %.2f\n", emp[i].SNAP);
enregistrement("fichier.txt",i);//ici l'appel de la fonction enregistrement
i++;
system("pause");
system("cls");
}// fin while i<2
}
int enregistrement();
int enregistrement(char*fic, int i)
// while(i<2)
{
FILE*fp;
char employer[250];
if((fp=fopen(fic,"a"))!=NULL)
{
fprintf(fp,"num_matricul:%s\n",emp[i].num_matricul);
fprintf(fp,"nom :%s\n",emp[i].nom);
fprintf(fp,"prenom:%s\n",emp[i].prenom);
fprintf(fp,"date et lieu de naissance:%s\n",emp[i].date_et_lieu_de_naissance);
fprintf(fp,"sexe:%s\n",emp[i].sexe);
fprintf(fp,"adresse:%s\n",emp[i].adresse);
fprintf(fp,"grade:%s\n",emp[i].grade);
fprintf(fp,"date de paiement:%s\n",emp[i].date_de_paiement);
fprintf(fp,"etablissement bancaire:%s\n",emp[i].etab);
fprintf(fp,"cin:%s\n",emp[i].cin);
fprintf(fp,"delivre le:%s\n",emp[i].delivre);
fprintf(fp,"compte:%s\n",emp[i].compte);
fprintf(fp,"sit_matrimonial:%s\n",emp[i].sit_matrimonial);
fprintf(fp,"nom et prenom du conjoint:%s\n",emp[i].nom_du_conjoint);
fprintf(fp,"telephone:%s\n",emp[i].telephone);
fprintf(fp,"====================================================\n\n");
fprintf(fp,"SALAIRE DE BASE[%d]: ",emp[i].salaire_de_base);
//scanf("%d",&emp[i].salaire_de_base);
fprintf(fp,"I[%d]: ",emp[i].I);
// scanf("%d",&emp[i].I);
fprintf(fp,"P[%d]: ",emp[i].P);
//scanf("%d",&emp[i].P);
fprintf(fp,"AV[%d]: ",emp[i].AV);
//scanf("%d",&emp[i].AV);
fprintf(fp,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");
emp[i].SBru=emp[i].salaire_de_base + emp[i].I + emp[i].P + emp[i].AV;
fprintf(fp,"SBru: %d\n",emp[i].SBru);
emp[i].CNaPS=emp[i].SBru*0.01;
if(emp[i].CNaPS>2880)//début if CNaPS
{
emp[i].CNaPS=2880;
}//fin if CNaPS
fprintf(fp,"CNaPS: %.2f\n",emp[i].CNaPS);
emp[i].OMSI=emp[i].SBru*0.015;
fprintf(fp,"OMSI: %.2f\n",emp[i].OMSI);
fprintf(fp,"---------------------------------------------------\n\n");
emp[i].DDR=emp[i].CNaPS+emp[i].OMSI;
fprintf(fp,"DDR: %.2f\n",emp[i].DDR);
emp[i].RNI=emp[i].SBru-emp[i].DDR;
fprintf(fp,"----------------------------------------------------\n\n");
fprintf(fp,"RNI: %.2f\n", emp[i].RNI);
if(emp[i].RNI<100000)
{
emp[i].IRSA=200;
fprintf(fp,"IRSA= 200\n ");
}
else if((emp[i].RNI>100000)&&(emp[i].RNI<=140000))
{
emp[i].IRSA=500;
fprintf(fp,"IRSA= 500\n");
}
if((emp[i].RNI>140000)&&(emp[i].RNI<=160000))
{
emp[i].IRSA=2000;
fprintf(fp,"IRSA= 2000\n");
}
if((emp[i].RNI>160000)&&(emp[i].RNI<=180000))
{
emp[i].IRSA=4000;
fprintf(fp,"IRSA= 4000\n");
}
if(emp[i].RNI>180000)
{
emp[i].IRSA=emp[i].RNI*0.25;
fprintf(fp,"IRSA: %.2f",emp[i].IRSA);
}
fprintf(fp,"-------------------------------------------------\n\n");
emp[i].SAP=emp[i].RNI-emp[i].IRSA;
fprintf(fp,"SAP: %.2f\n",emp[i].SAP);
fprintf(fp,"entrer la somme d'avance :");
scanf("%d",&emp[i].AVANCE);
emp[i].SNAP=emp[i].SAP-emp[i].AVANCE;
fprintf(fp,"-------------------------------------------------\n\n");
fprintf(fp,"SNAP: %.2f\n", emp[i].SNAP);
i++;
system("pause");
system("cls");
}
fclose(fp);
i++;
system("pause");
system("cls");
}
void menu();
void menu()
{
char y;
do
{
system("cls");
printf("\t\t menu\n");
printf("\t\t saisie [s]\n\n");
printf("\t\t consultation [c]\n\n");
printf("\t\t modification [m]\n\n");
printf("\t\t calcul [k]\n\n");
printf("\t\t quitter [q]\n\n");
printf("ce que vous-voulez:");
scanf("%c",& y);
switch(y)
{ case's':
system("cls");
saisie();
// enregistrement("fic.txt",emp[2]);
system("pause");
system("cls");
break;
case'c':
system("cls");
printf("consultation");
//enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'm':
system("cls");
printf("modification");
// enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'k':
system("cls");
printf("calcul");
//enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'q':
system("cls");
printf("quitter");
system("pause");
system("cls");
break;
}
}
while(y!='q');
}
int main(int argc, char *argv[])
{
menu();
//enregistrement("fichier.txt",i);
//enregistrement("fic.txt",emp[2]);
}
VOICIE LES CODES QUE J'AI ECRIT
#include<stdio.h>
#include <stdlib.h>
struct employer
{
//int nombre_employer;
char num_matricul[6];//numero matricul
char nom[256];//nom de l'employer
char prenom[256];//son prenom à 255 caracteurs
char date_et_lieu_de_naissance[200];
char sexe[1];
char adresse[120];
char grade[50];
char date_de_paiement;//date tous cours
// char mois[15];
// int annee;
char cin;
char delivre[120];
char etab[256];
char compte;
char sit_matrimonial[100];
char nom_du_conjoint[200];
char telephone;
int salaire_de_base;
int I;//I=indamnité
int P;//prime
int AV;//avantage
int AVANCE;//avance
int SBru;
float CNaPS;
float OMSI;
float DDR;//deduction reglementaire pour obtenir le RNI
float RNI;//revenu net imposable pour pouvoir faire calculer l'IRSA
float IRSA;
float SAP;
float SNAP;
}emp[2];//
//void enregistrement(char*fic, int i);
void saisie();//declaration de prototype de fonction saisie
void saisie(SBru,CNaPS,RNI,DDR,OMSI,IRSA,SAP,AVANCE)//definition de la fonction saisie
{
int i;//indice du tableau
i=0;//initialisation du tableau
while (i<2)//debut while i<2
{
printf("num_matricul :");
scanf("%s",& emp[i].num_matricul);
printf("nom :");
scanf("%s", emp[i].nom);
while(getchar()!='\n');//vide le tampon
printf("prenom :");
scanf("%s", emp[i].prenom);
while(getchar()!='\n');//vide le tempon
printf("date et lieu de naissance :");
scanf("%s",emp[i].date_et_lieu_de_naissance);
while(getchar()!='\n');//vide le tempon
printf("sexe :");
scanf("%s",emp[i].sexe);
printf("adresse :");
scanf("%s", emp[i].adresse);
while(getchar()!='\n');//vide le tempon
printf("grade :");
scanf("%s", emp[i].grade);
printf("date_de_paiement :");
scanf("%s",& emp[i].date_de_paiement);
while(getchar()!='\n');//vide le tempon
/*printf("mois :");
scanf("%s", emp[i].mois);
printf("annee :");
scanf("%d",& emp[i].annee);*/
printf("etab_bancaire :");
scanf("%s",&emp[i].etab);
while(getchar()!='\n');
printf("cin :");
scanf("%s",& emp[i].cin);
while(getchar()!='\n');
printf("délivrée le :");
scanf("%s",emp[i].delivre);
printf("compte :");
scanf("%s",& emp[i].compte);
printf("sit_matrimonial :");
scanf("%s", emp[i].sit_matrimonial);
printf("nom et prénom du conjoint(e) :");
scanf("%s",emp[i].nom_du_conjoint);
while(getchar()!='\n');//vide le tempon
printf("telephone :");
scanf("%s",& emp[i].telephone);
printf("=================================================\n\n");
printf("SALAIRE DE BASE[%d]: ",i);
scanf("%d",&emp[i].salaire_de_base);
printf("I[%d]: ",i);
scanf("%d",&emp[i].I);
printf("P[%d]: ",i);
scanf("%d",&emp[i].P);
printf("AV[%d]: ",i);
scanf("%d",&emp[i].AV);
printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");
emp[i].SBru=emp[i].salaire_de_base + emp[i].I + emp[i].P + emp[i].AV;
printf("SBru: %f\n",emp[i].SBru);
emp[i].CNaPS=emp[i].SBru*0.01;
if(emp[i].CNaPS>2880)//début if CNaPS
{
emp[i].CNaPS=2880;
}//fin if CNaPS
printf("CNaPS: %.2f\n",emp[i].CNaPS);
emp[i].OMSI=emp[i].SBru*0.015;
printf("OMSI: %.2f\n",emp[i].OMSI);
printf("---------------------------------------------------\n\n");
emp[i].DDR=emp[i].CNaPS+emp[i].OMSI;
printf("DDR: %.2f\n",emp[i].DDR);
emp[i].RNI=emp[i].SBru-emp[i].DDR;
printf("----------------------------------------------------\n\n");
printf("RNI: %.2f\n", emp[i].RNI);
if(emp[i].RNI<100000)
{
emp[i].IRSA=200;
printf("IRSA= 200\n ");
}
else if((emp[i].RNI>100000)&&(emp[i].RNI<=140000))
{
emp[i].IRSA=500;
printf("IRSA= 500\n");
}
if((emp[i].RNI>140000)&&(emp[i].RNI<=160000))
{
emp[i].IRSA=2000;
printf("IRSA= 2000\n");
}
if((emp[i].RNI>160000)&&(emp[i].RNI<=180000))
{
emp[i].IRSA=4000;
printf("IRSA= 4000\n");
}
if(emp[i].RNI>180000)
{
emp[i].IRSA=emp[i].RNI*0.25;
printf("IRSA: %.2f",emp[i].IRSA);
}
printf("-------------------------------------------------\n\n");
emp[i].SAP=emp[i].RNI-emp[i].IRSA;
printf("SAP: %.2f\n",emp[i].SAP);
printf("entrer la somme d'avance :");
scanf("%d",&emp[i].AVANCE);
emp[i].SNAP=emp[i].SAP-emp[i].AVANCE;
printf("-------------------------------------------------\n\n");
printf("SNAP: %.2f\n", emp[i].SNAP);
enregistrement("fichier.txt",i);//ici l'appel de la fonction enregistrement
i++;
system("pause");
system("cls");
}// fin while i<2
}
int enregistrement();
int enregistrement(char*fic, int i)
// while(i<2)
{
FILE*fp;
char employer[250];
if((fp=fopen(fic,"a"))!=NULL)
{
fprintf(fp,"num_matricul:%s\n",emp[i].num_matricul);
fprintf(fp,"nom :%s\n",emp[i].nom);
fprintf(fp,"prenom:%s\n",emp[i].prenom);
fprintf(fp,"date et lieu de naissance:%s\n",emp[i].date_et_lieu_de_naissance);
fprintf(fp,"sexe:%s\n",emp[i].sexe);
fprintf(fp,"adresse:%s\n",emp[i].adresse);
fprintf(fp,"grade:%s\n",emp[i].grade);
fprintf(fp,"date de paiement:%s\n",emp[i].date_de_paiement);
fprintf(fp,"etablissement bancaire:%s\n",emp[i].etab);
fprintf(fp,"cin:%s\n",emp[i].cin);
fprintf(fp,"delivre le:%s\n",emp[i].delivre);
fprintf(fp,"compte:%s\n",emp[i].compte);
fprintf(fp,"sit_matrimonial:%s\n",emp[i].sit_matrimonial);
fprintf(fp,"nom et prenom du conjoint:%s\n",emp[i].nom_du_conjoint);
fprintf(fp,"telephone:%s\n",emp[i].telephone);
fprintf(fp,"====================================================\n\n");
fprintf(fp,"SALAIRE DE BASE[%d]: ",emp[i].salaire_de_base);
//scanf("%d",&emp[i].salaire_de_base);
fprintf(fp,"I[%d]: ",emp[i].I);
// scanf("%d",&emp[i].I);
fprintf(fp,"P[%d]: ",emp[i].P);
//scanf("%d",&emp[i].P);
fprintf(fp,"AV[%d]: ",emp[i].AV);
//scanf("%d",&emp[i].AV);
fprintf(fp,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");
emp[i].SBru=emp[i].salaire_de_base + emp[i].I + emp[i].P + emp[i].AV;
fprintf(fp,"SBru: %d\n",emp[i].SBru);
emp[i].CNaPS=emp[i].SBru*0.01;
if(emp[i].CNaPS>2880)//début if CNaPS
{
emp[i].CNaPS=2880;
}//fin if CNaPS
fprintf(fp,"CNaPS: %.2f\n",emp[i].CNaPS);
emp[i].OMSI=emp[i].SBru*0.015;
fprintf(fp,"OMSI: %.2f\n",emp[i].OMSI);
fprintf(fp,"---------------------------------------------------\n\n");
emp[i].DDR=emp[i].CNaPS+emp[i].OMSI;
fprintf(fp,"DDR: %.2f\n",emp[i].DDR);
emp[i].RNI=emp[i].SBru-emp[i].DDR;
fprintf(fp,"----------------------------------------------------\n\n");
fprintf(fp,"RNI: %.2f\n", emp[i].RNI);
if(emp[i].RNI<100000)
{
emp[i].IRSA=200;
fprintf(fp,"IRSA= 200\n ");
}
else if((emp[i].RNI>100000)&&(emp[i].RNI<=140000))
{
emp[i].IRSA=500;
fprintf(fp,"IRSA= 500\n");
}
if((emp[i].RNI>140000)&&(emp[i].RNI<=160000))
{
emp[i].IRSA=2000;
fprintf(fp,"IRSA= 2000\n");
}
if((emp[i].RNI>160000)&&(emp[i].RNI<=180000))
{
emp[i].IRSA=4000;
fprintf(fp,"IRSA= 4000\n");
}
if(emp[i].RNI>180000)
{
emp[i].IRSA=emp[i].RNI*0.25;
fprintf(fp,"IRSA: %.2f",emp[i].IRSA);
}
fprintf(fp,"-------------------------------------------------\n\n");
emp[i].SAP=emp[i].RNI-emp[i].IRSA;
fprintf(fp,"SAP: %.2f\n",emp[i].SAP);
fprintf(fp,"entrer la somme d'avance :");
scanf("%d",&emp[i].AVANCE);
emp[i].SNAP=emp[i].SAP-emp[i].AVANCE;
fprintf(fp,"-------------------------------------------------\n\n");
fprintf(fp,"SNAP: %.2f\n", emp[i].SNAP);
i++;
system("pause");
system("cls");
}
fclose(fp);
i++;
system("pause");
system("cls");
}
void menu();
void menu()
{
char y;
do
{
system("cls");
printf("\t\t menu\n");
printf("\t\t saisie [s]\n\n");
printf("\t\t consultation [c]\n\n");
printf("\t\t modification [m]\n\n");
printf("\t\t calcul [k]\n\n");
printf("\t\t quitter [q]\n\n");
printf("ce que vous-voulez:");
scanf("%c",& y);
switch(y)
{ case's':
system("cls");
saisie();
// enregistrement("fic.txt",emp[2]);
system("pause");
system("cls");
break;
case'c':
system("cls");
printf("consultation");
//enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'm':
system("cls");
printf("modification");
// enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'k':
system("cls");
printf("calcul");
//enregistrement("fic.txt",emp[50]);
system("pause");
system("cls");
break;
case'q':
system("cls");
printf("quitter");
system("pause");
system("cls");
break;
}
}
while(y!='q');
}
int main(int argc, char *argv[])
{
menu();
//enregistrement("fichier.txt",i);
//enregistrement("fic.txt",emp[2]);
}
A voir également:
- Creation de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
Tout d'abord, écrire plus de 300 lignes de code, pour un 'vraiment débutant', on ne peut que tirer son chapeau !
Par contre je crains que tu n'aies pas de réponse et voici pourquoi:
- j'ai relu trois fois ton introduction et, à part la première ligne, je n'ai rien compris,
- 300 lignes de code non indentées, je refuse de les lire.
En clair ton post est assez décourageant.
Je te souhaite, malgré ces deux remarques, que ton chemin croise celui d'un gars très courageux ;-)
Bonne continuation.
PS: je n'ai pas lu, mais un parcours en diagonale, m'a fait tilter:
- struct employer
- char employer[250]
Ceci n'est pas interdit, mais peut prêter à confusion; le tout, en 'C', est de savoir ce que l'on fait.
Par contre je crains que tu n'aies pas de réponse et voici pourquoi:
- j'ai relu trois fois ton introduction et, à part la première ligne, je n'ai rien compris,
- 300 lignes de code non indentées, je refuse de les lire.
En clair ton post est assez décourageant.
Je te souhaite, malgré ces deux remarques, que ton chemin croise celui d'un gars très courageux ;-)
Bonne continuation.
PS: je n'ai pas lu, mais un parcours en diagonale, m'a fait tilter:
- struct employer
- char employer[250]
Ceci n'est pas interdit, mais peut prêter à confusion; le tout, en 'C', est de savoir ce que l'on fait.