Une petite question ^^

loulou -  
 Loulou -
Bonjour voilà j'ai une petite question a vous demander
la voici : je dois faire une base de donnée videothèque pour un loueur de cassette video, DVD etc... et mon probleme est que je n'arrive pas a afficher les données d'un DVD lorsque je fais appelle de la fonction AfficheDVD est ce que vous pouvez m'éclaircir svp

Merci ^^

1 réponse

  1. Loulou
     
    oups j'ai oublier de mettre le code ^^

    
    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct{
    	unsigned num;
    	char titre[50];
    	char acteur[100];
    	char res[300];
    	int disp;
    }film;
    
    
    void saisiefilm (film *f)
    {
    	
     	printf ("donner le num du film \n");
    	fflush(stdout);
    	scanf("%u",&(f->num));
    	fflush(stdin);
    	printf ("donner le titre du film \n");
    	fflush(stdout);
    	scanf("%s",(f->titre));
    	fflush(stdin);
    	printf ("donner des noms des acteurs \n");
    	fflush(stdout);
    	scanf("%s",(f->acteur));
    	fflush(stdin);
    	printf ("donner un bref sur le film \n");
    	fflush(stdout);
    	scanf("%s",(f->res));
    	fflush(stdin);
    	printf("donner le nombre de dvd disponible \n");
    	fflush(stdout);
    	scanf("%d",&(f->disp));
    	fflush(stdin);
    }
    
    void ajoutDVD()
    	{
    	film flm;
    	char rep;
    	FILE *fp;
    	fp=fopen("DVD.txt","a+");/*a+ (lecture et écriture, positionnement en fin de fichier si existant, création sinon).*/
    	if(!fp)
    	{
    	printf("erreur d'ouverture du fichier");
    	exit(-1);
    	}
    	else
    	do
    	{
    		saisiefilm(&flm);
    		fwrite(&flm,sizeof(film),1,fp);
    		printf("autre ajout?o/n");
    		scanf("%c",&rep);
    	}while (rep!='n');
    	fclose(fp);
    }
    
    
    
    void afficheDVD(double numf)
    { 
      film *dvd;
      FILE *fp=fopen("DVD.txt","a+");
      if(!fp)
    	{
    	printf("erreur d'ouverture du fichier");
    	exit(1);
    	}
    	else
    	{   while (fread(&dvd,1,sizeof(film),fp))
    		{ 
    		  printf("%lf.0",numf);
    		  printf("%s",dvd->titre);
    		  printf("%s",dvd->acteur);
    		  printf("%s",dvd->res);
    		  printf("%d",dvd->disp);
    		 }
    	}fclose(fp);
    }
     
    int ParametreDVD(){
    int choix;
    double numdvd;
    
    	do{
    	printf("\nQue voulez vous faire \n\n");
    	fflush(stdout);
    	printf("1:Ajouter fiche DVD\n");
    	fflush(stdout);
    	printf("2:Supprimer fiche DVD\n");
    	fflush(stdout);
        printf("3:Modifier fiche DVD\n");
    	fflush(stdout);
    	printf("4:Afficher fiche DVD\n");
    	fflush(stdout);
    	printf("0:Retour Menu Principal\n");
    	fflush(stdout);
    	printf("\nVotre choix : ");
        scanf("%d",&choix);
        fflush(stdin);
        switch(choix){
        	case 1 : ajoutDVD();
        	         break;
        /*  case 2 :suppclt();
        	       break;
        	case 3 :modifierclt();
        	       break;*/
    
    		case 4 : printf("entrer numero DVD : ");
    				 fflush(stdout);
    				 scanf("d",&numdvd);
    				 fflush(stdin);
    			     afficheDVD(numdvd);
    				 break;
    
    		case 0 : return(1);
        	default:printf("\nMauvais choix\n");
        }
    	}while(choix!=0);
    	return(0);
    } 
     	             
    
    int main(){
    
    int choix;
        do{
        printf("\nBienvenue Dans le programme de Location video LOCATEK\n\n");
        fflush(stdout);
        printf("Tapez:\n\n");
        fflush(stdout);
        printf("1:Pour client\n");
        fflush(stdout);
        printf("2:Pour dvd\n");
        fflush(stdout);
        printf("3:Pour CD_audio\n");
        fflush(stdout);
        printf("4:Pour livre\n");
    	fflush(stdout);
    	printf("0:Quittez le programme\n");
    	fflush(stdout);
    	printf("\nVotre choix : ");
    	fflush(stdout);
    	scanf("%d",&choix);
    	fflush(stdin);
              switch(choix){
              	/*case 1:ParametreClient();
              	       break;*/
              	case 2:ParametreDVD();
              	       break;
              	/*case 3:ParametreCD();
              	       break;
              	case 4:ParametreLivre();
              	       break;*/
    			case 0:	printf("\n******Fin programme********\n\n");
    					exit(0);
    			default :printf("\nMauvais choix, recommencer\n");
              }
    	}while(choix!=0); 
    
    	return(1); 
    }
    
    
    0