Bonsoir à toutes et à tous, voilà je suis un débutant en C et je voudrais en fait pourvoir ajouter des données dans un fichier caractérisées par un Nom de film et Un genre du film en question.
J'esseye d'abord avec un VHS et je pense que si celui ci marche, je pourrais adapté pour les autres.^^
Est-ce que vous pouvez me dire si ce que j'ai fais pour le moment est juste ou non svp et de corriger si besoin est ?
Merci d'avance. ( J'ai un pb avec mon compilateur C ^^)
#include <stdio.h>
#include <stdlib.h>
typedef struct{
char *nom;
char *genre;
}FICHE;
typedef enum
{
CatProduitVHS =0,
CatProduitDVD,
CatProduitLivre,
CatProduitCD,
}CatProduit;
FILE* OuvrirFichier(CatProduit CategorieProduit)
{
FILE * tmpFile;
switch(CategorieProduit)
{
case CatProduitVHS :
tmpFile = fopen("vhs.txt","wa" );
break;
case CatProduitDVD :
tmpFile = fopen("dvd.txt","wa" );
break;
case CatProduitLivre :
tmpFile = fopen("livres.txt","wa" );
break;
case CatProduitCD :
tmpFile = fopen("CDs.txt","wa" );
break;
default :
break;
}
return tmpFile;
}
int InsererProduit(FILE * fichierProduit,CatProduit CategorieProduit)
{
switch(CategorieProduit)
{
case CatProduitVHS :
// !!!!! se placer a la fin du fichier !!!!
// on écrit
fwrite(&fichierProduit,sizeof(FICHE),1,fichierProduit);
break;
case CatProduitDVD :
break;
case CatProduitLivre :
break;
default :
break;
}
return(1);
}
void main ()
{
FICHE *VHS;
FILE *FichierVHS;
CatProduit Produit = CatProduitVHS;
VHS=(FICHE*)malloc(sizeof(FICHE));
// On ouvre le fichier des VHS
FichierVHS = OuvrirFichier(Produit);
printf("Nom du VHS: " );
scanf("%c",VHS->nom);
printf("\nGenre : " );
scanf("%c",VHS->genre);
InsererProduit(FichierVHS,Produit);
}