par hind nabti Lun 22 Mar - 4:25
slt sa va j'ai defini dans un fichier une fonction pour sauvegarder les information et les recupere mais je sai pas c koi le probleme elle ne marche pas
#include
typedef struct fil_m{
char *nom;
char *info;
char *date;
float horaire;
char *salle;
struct fil_m *film_suivant;
}film;
film *pointeur =NULL;
FILE *fichier;
char nom[20];
char info[20];
char date[20];
float horaire;
char salle[20];
char carac ;
void detruir_structure(film *premier);
film* get_structure_from_file()
{
film* premier = NULL, *suiv, *temp;
fichier = fopen("fichier_film.txt","r");
carac=getc(fichier);
if(fichier !=NULL)
{
if(feof(fichier))
{
return NULL;
}
else
{
premier =(film*)malloc(sizeof(film));
suiv = premier;
fseek(fichier,-1,SEEK_CUR);
while(!feof(fichier))
{
fscanf(fichier ,"%s",nom);
fscanf(fichier,"%s",info);
carac=fgetc(fichier);
fgets(date,20,fichier);
fscanf(fichier,"%f",horaire);
fscanf(fichier,"%s",salle);
strcpy(suiv->nom,nom);
strcpy(suiv->info,info);
strcpy(suiv->date,date);
suiv->horaire=horaire;
strcpy(suiv->salle,salle);
if(feof(fichier))
{
suiv->film_suivant = NULL;
}
else
{
suiv->film_suivant =(film*) malloc(sizeof(film));
suiv=suiv->film_suivant;
}
}
}
}
fclose(fichier);
return premier;
}
void get_file_from_structure(film* premier)
{
film* suivant;
suivant = premier;
fichier = fopen("fichier_film.txt","w");
if(premier ==NULL)
{
fclose(fichier);
return;
}
else
{
while(suivant->film_suivant!=NULL)
{
fprintf(fichier,"%s\n",suivant->nom);
fprintf(fichier,"%s\n",suivant->info);
fputs(suivant->date,fichier);
fprintf(fichier,"%f\n",suivant->horaire);
fprintf(fichier,"%s\n\n",suivant->salle); // saut d'une ligne entre deux produit
suivant=suivant->film_suivant;
}
fprintf(fichier,"%s\n",suivant->nom);
fprintf(fichier,"%s\n",suivant->info);
fputs(suivant->date,fichier);
fputc('\n',fichier);
fprintf(fichier,"%f\n",suivant->horaire);
fprintf(fichier,"%s\n\n",suivant->salle);
suivant=suivant->film_suivant;
}
fclose(fichier);
detruir_structure(premier);
}
void detruir_structure(film *premier)
{
film *suiv ,*temp;
suiv = premier;
while(suiv->film_suivant !=NULL)
{
temp = suiv->film_suivant;
free(suiv);
suiv = temp;
}
free(suiv);
}
/**************fichier.film********************
puis je definie la fonction d'ajoute comme sa
********************/
#include
#include"fichier_film.h"
void ajouter_film(char *nom,char *info,char *date,float horaire,char *salle)
{
film *premier,*suiv;
premier = get_structure_from_file();
suiv=premier;
if(premier =NULL)
{
premier=(film*)malloc(sizeof(film));
strcpy(premier->nom,nom);
strcpy(premier->info,info);
strcpy(premier->date,date);
premier->horaire=horaire;
strcpy(premier->salle,salle);
premier->film_suivant=NULL;
}
else
{
while(suiv->film_suivant !=NULL)
{
if((strcmp(suiv->salle,salle))==0)
{
if((strcmp(suiv->date,date))==0)
{
if(suiv->horaire==horaire)
printf("impossible d'ajouter ce film:");
}}
else{
suiv->film_suivant=(film*)malloc(sizeof(film));
strcpy(suiv->film_suivant->nom,nom);
strcpy(suiv->film_suivant->info,info);
strcpy(suiv->film_suivant->date,date);
suiv->film_suivant->horaire=horaire;
strcpy(suiv->film_suivant->salle,salle);
}
}
get_file_from_structure(premier);
}
}
/*************mais le problem il ne marche pas je sai pas ou le problem si qlq peut m'aider*/
Jeu 28 Nov - 8:07 par arsenepoutsi
» CCNA version 4 français
Dim 31 Mar - 15:15 par kadhouceeee
» Trés important " Livre exercices en langage C ( claude delannoy) "
Jeu 27 Sep - 16:31 par latifa oustouh
» Ulead VideoStudio 11.5.0157.2 Plus + Crack Collection
Jeu 26 Avr - 9:51 par miloduvi
» Langage IDL(Interface Definition Language)
Mar 27 Sep - 13:02 par Abdelkhalek Bakkari
» demande cours PHP
Jeu 2 Juin - 11:23 par elasriahmed
» exemple page web réaliser avec du html et JavaScript
Lun 30 Mai - 4:05 par ouh.rouchan.zakaria
» cours group2_ 2année 2011
Dim 20 Mar - 15:35 par El Maligno Angelo
» Cours : Infrastructures Réseaux 2003 Server
Mar 15 Fév - 6:55 par jettjackson
» cours officiel de CCNA 2
Mar 18 Jan - 13:53 par agares