01net    Web


Actuellement en ligne : 154 Utilisateurs dont 7 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> enregistrer dans un fichier (programmae en c)
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
iopml
  
   
      ?   @     Posté le 11/01/2008 13:14:12  
Voter pour ce message
bjr,,,j'ai réaliser un programme ,,, le probleme c'est que j'arrive pas à bien enregistrer les données dans un fichier (chaque nouveau ajout n'apparait pas , mais le premier s'ecrit à sa place)
voila le code :::::::::::
:::::::::::::::::::::::::

#include<stdio.h>
#include <myconio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>



struct facture /*structure */
{
char nom_de_l_article[60];
char code_aricle[30];
int quantite;
int prix_unitaire[30];
};

char nom_fichier[25]="facture.dat"; /* fichier1 pour enregistrer les materiaux.*/

int main()
{ /*page de garde*/


void Ajout(char *nom_fon);/*prototype fonction ajout .*/
void Affichage(char *nom_fon); /*prototype fonction affichage, qui affice les enregistrements*/

int ch;
clrscr() ;
do
{
clrscr() ;
gotoxy(27,2);
printf("** GESTION D'UNE facture ** ");
gotoxy(3,6);
printf("(1) Ajouter un nouveau article.");
gotoxy(3,10);
printf("(3) Afficher les articles. ");
printf("(6) Quitter.");
gotoxy(3,20);
printf("votre choix: ? ");
scanf("%d",&ch);
getchar();
switch (ch)
{
case 1:Ajout(nom_fichier); /* appelle du fonction ajout.*/
break;

case 3:Affichage(nom_fichier);
break;

}
}
while(ch!=6);
clrscr() ;

gotoxy(17,21);
printf("presser ENTRER pour quitter definitivement:");
getchar();
}}


void Ajout(char *nom_fon) /* fonction ajout */
{
FILE* Ahmed; /*creation d'un fichier*/
char c;
int i;
facture carte; /* definir un pointeur sur x(enregistrement)*/
Ahmed=fopen(nom_fon,"a"); /* ouverture d'un fichier en mode "a" Ajout*/
clrscr() ;
do
{
printf("\n nom de l article : ");
scanf("%s",carte.nom_de_l_article);
fflush( stdin ) ;
printf("\n code de l'article : ");
scanf("%s",&carte.code_aricle);
fflush( stdin ) ;
printf("\n la quantité : ");
scanf("%d",&carte.quantite);
fflush( stdin ) ;
printf("\n le prix unitaire : ");
scanf("%d",carte.prix_unitaire);
fflush( stdin ) ;
fwrite(&carte,sizeof(facture),2,Ahmed);
printf("\n nouvelle entr‚e?(o - n)");
c=getchar();
}
while(c=='o');
fclose(Ahmed); /*fermeture de fichier (Ahmed)*/
}


void Affichage(char *nom_fon) /* La fonction affichage*/
{
clrscr() ;
FILE* Ahmed1;
int j,i,d,t,k;
struct facture *X;
Ahmed1=fopen(nom_fon,"r+");
t=sizeof(facture);
fseek(Ahmed1,0,2);
d=ftell(Ahmed1)/t;
X=(facture *) malloc(sizeof(facture));
fseek(Ahmed1,0,0);
clrscr() ;
gotoxy(2,1);
printf("nom de l'article");
gotoxy(28,1);
printf("|");
gotoxy(29,1);
printf("code");
gotoxy(43,1);
printf("|");
gotoxy(44,1);
printf("quantite");
gotoxy(56,1);
printf("|");
gotoxy(57,1);
printf("prix_unitaire");
printf("\n -------------------------------------------------------------------------------");
j=1;
k=10;
for(i=0;i<d;i++)
{
if(i==0)
j=i+3;
fread(X,sizeof(facture),1,Ahmed1);
gotoxy(3,j);
printf("%s",X->nom_de_l_article);
gotoxy(28,j);
printf("|");
gotoxy(35,j);
printf("%s",X->code_aricle);
gotoxy(43,j);
printf("|");
gotoxy(48,j);
printf("%d",X->quantite);
gotoxy(56,j);
printf("|");
gotoxy(60,j);
printf("%d",X->prix_unitaire);
if(i==k)
{printf("\n"); gotoxy(1,24); printf(" --------------------------------------------------page Suivante:Appuiyer ENTRER"); }
else printf("\n -------------------------------------------------------------------------------");
j=j+1;
j=j+1;
if (i==k)
{
getchar();
clrscr() ;
gotoxy(1,1);
printf("nom de l'article");
gotoxy(29,1);
printf("code");
gotoxy(44,1);
printf("quantite");
gotoxy(60,1);
printf("prix_unitaire");
printf("\n -----------------------------------------------------------------------------");
j=3;
k=11+k;
}
}
printf("\n \nle nombre d'enregistrements est : %d",i);
fclose(Ahmed1);
getchar();
}





<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> enregistrer dans un fichier (programmae en c)

Aller à :

Page générée en : 0.051s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Essais automobiles 
Vidéo Audi Q5 : Chez les SUV compacts huppés, BMW faisait jusqu'ici cavalier seul avec le X3.
Jeux
Nouveauté : Transformez une bijouterie décrépite en une petite merveille de l’industrie du luxe !