Partage
  • Partager sur Facebook
  • Partager sur Twitter

language c exercice sur les fichier

un traitememt du texte : j'ai un probleme dans la ligne 8 et 9

Sujet résolu
    5 janvier 2021 à 15:00:06

    j'ai un probleme dans la ligne 8 et 9 vous pouvez m'aider 

     #include<stdio.h>

    #include<stdlib.h>

    #include<string.h>

    void SuppAppCara(char carasupp, char nomfichier[50]){

    FILE *f2;

    char c;

    f2=fopen("fichier1.txt","w");

    while(!feof(nomfichier)){

         c=fgetc((nomfichier);

         if(c!=carasupp)

         fprintf(f2,"%c",c);

             } 

             fclose(f2);

    }



    main(){

    FILE *f1;

    char carasupp;

    int op;

    char nomf1[50];

    printf("entrer le nom du fichier :");

    scanf("%s",nomf1);

    f1=fopen(nomf1,"r");

    if(f1==NULL){

    printf("erreur d'ouverure du ficher \n");

    exit(1);

    }


    else{

    printf("fichier ouvert avec succes \n \n");

    printf("***************** TRAITEMENT DU TEXTE********************** \n ");

    printf("\n------------------------MENU---------------------------------\n");

    //Choix d'une operation par l'utilisateur

    printf("Taper 1 pour supprimer l'apparition d'un caractere.\n");

    printf("Taper 2 pour convertir de minuscule a majuscule.\n");

    printf("Taper 3 pour convertir de majuscule a minuscule.\n");

    printf("taper 4 pour convertir le nombre d'occurence d'un mot.\n");

    printf("taper 0 pour sortir du programme.\n");

    //printf("Votre choix:\n");

    scanf("%d",&op);

    switch(op){

    case 1 :{

    printf("votre choix : 1 \n");

      printf(" entrer le caractere a supprimer:\n");

      scanf("%s",&carasupp);

    SuppAppCara(carasupp, nomf1);

    }break;

    }





    }



    }

    -
    Edité par LaarabiWiam 5 janvier 2021 à 15:03:17

    • Partager sur Facebook
    • Partager sur Twitter
      5 janvier 2021 à 15:10:13

      Pour commencer, bonjour à toi aussi.

      On ne lit pas un nom de fichier, pas plus qu'on n'en teste feof(), mais on lit un FILE *.

      Et il est inutile d'écrire en gras.

      Stp,

      -
      Edité par edgarjacobs 5 janvier 2021 à 15:11:37

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        18 janvier 2021 à 12:44:14


        #include<stdio.h>
        
        #include<stdlib.h>
        
        #include<string.h>
        
        #include<ctype.h>
        
        #include<conio.h>
        
         
        
        char conversion ( char* line )
        
                                              {
        
                                                       int i ;
        
                                                       //char line;
        
                                                       for(i=0 ; i < sizeof(line) ; i++ ) {
        
                                                                 if ( sizeof(line) >=65 && sizeof(line)<=90)
        
                                                                          line= line+32 ;
        
                                                       }
        
                                                       printf("%s",line);
        
                                                       /*return line;*/
        
                                                       return 0;
        
                                                      
        
                                              }
        
                                             
        
                                             
        
        int     main()
        
                 {
        
         
        
                           FILE *f1;
        
         
        
                           char c;
        
         
        
                           int op;
        
         
        
                           char nomf1[50];
        
         
        
                           printf("entrer le nom du fichier :");
        
         
        
                           scanf("%s",nomf1);
        
         
        
                           f1=fopen(nomf1,"r");
        
         
        
                           if(f1==NULL) {
        
         
        
                                    printf("erreur d'ouverure du ficher \n");
        
         
        
                                    exit(1);
        
         
        
                           }
        
         
        
         
        
         
        
                           else {
        
         
        
                                    printf("fichier ouvert avec succes \n \n");
        
         
        
                                    printf("***************** TRAITEMENT DU TEXTE********************** \n ");
        
         
        
                                    printf("\n------------------------MENU---------------------------------\n");
        
         
        
        //Choix d'une operation par l'utilisateur
        
         
        
                                    printf("Taper 1 pour supprimer l'apparition d'un caractere.\n");
        
         
        
                                    printf("Taper 2 pour convertir de minuscule a majuscule.\n");
        
         
        
                                    printf("Taper 3 pour convertir de majuscule a minuscule.\n");
        
         
        
                                    printf("taper 4 pour convertir le nombre d'occurence d'un mot.\n");
        
         
        
                                    printf("taper 0 pour sortir du programme.\n");
        
         
        
        //printf("Votre choix:\n");
        
         
        
                                    scanf("%d",&op);
        
         
        
                                    switch(op) {
        
         
        
                                              case 1 : {
        
         
        
                                                       printf("votre choix : 1 \n");
        
         
        
                                                       printf(" entrer le caractere a supprimer:\n");
        
         
        
                                                       scanf("%s",&c);
        
         
        
                                                      
        
                                                       break;
        
                                              }
        
                                              case 2: {
        
         
        
                                              char str[50];
        
                                              int i;
        
                                              printf("votre choix : 2 \n");
        
                                              printf("\n Entrez la chaîne à convertir en majuscule: ");
        
                                              gets(str);
        
                                              for (i = 0; str[i]!='\0'; i++) {
        
                                                       // si les caractères sont en minuscules, convertissez-les en majuscules
        
                                                       // en soustrayant 32 de leur valeur ASCII.
        
                                                       if(str[i] >= 'a' && str[i] <= 'z') {
        
                                                                 str[i] = str[i] -32;
        
                                                       }
        
                                              }
        
                                              printf("\n La chaîne en majuscule = %s", str);
        
         
        
                                              return 0;
        
                                              break;
        
                                    }
        
                                    case 3: {
        
                                             
        
         
        
         
        
                                             
        
         
        
         
        
                                                       char line[255] ;
        
                                                       char resultat[255] ;
        
                                                       printf("votre choix : 3 \n");
        
                                                       printf("Entrez une phrase majuscule: ") ;
        
                                                       scanf("%s",&line ) ;
        
                                                       conversion (line);
        
         
        
                                             
        
                                             
        
                                    }
        
                                              case 4: {
        
                                              int ComptMot(char mot[50],char nomfichier[50]);
        
         
        
         
        
                                              int i, occurrence = 0;
        
                                              char c,chaine[50];
        
                                              printf("votre choix : 4 \n");
        
                                              printf("Entrez la chaine de caractere: ");
        
                                              gets(chaine);
        
         
        
                                              printf("Entrez un caractère: ");
        
                                              scanf("%c",&c);
        
         
        
                                              for(i = 0; chaine[i] != '\0'; ++i) {
        
                                                       if(chaine[i] == c)
        
                                                                 ++occurrence;
        
                                              }
        
         
        
                                              printf("Le nombre d’occurrence de %c est %d", c, occurrence);
        
         
        
         
        
                                              return 0;
        
                                    }
        
                                    case 5: {
        
                                              int Valeur, Modulo;
        
                                              while(1) {
        
                                                       printf("votre choix : 0 \n");
        
                                                       printf("Entrer un nombre entier : ");
        
                                                       scanf("%d", &Valeur);
        
                                                       Modulo = Valeur % 2;
        
                                                       if(Modulo == 0) {
        
                                                                 printf("C est un nombre paire\n\n");
        
                                                       } else {
        
                                                                 printf("C est un nombre impaire\n\n");
        
                                                       }
        
                                              }
        
         
        
                                              system("PAUSE");
        
                                              return 0;
        
                                              break;
        
                                    }
        
                                   
        
                                    }
        
                           }
        
                 }


        • Partager sur Facebook
        • Partager sur Twitter
          18 janvier 2021 à 12:55:47

          Il manque le message...

          -
          Edité par robun 18 janvier 2021 à 13:57:09

          • Partager sur Facebook
          • Partager sur Twitter
            18 janvier 2021 à 13:57:18

            Bonjour,

            Si tu codes aussi bien que tu postes tes messages, c'est sur que ça va pas marcher !

            Tu as posté 2 codes, qui en fait ne sont pas les mêmes ! Il faut être un peu plus attentif ! Il ne faut pas jeté ça sur le forum comme on jette de la pâtée aux cochons !

            On veux bien aider, mais donne nous quelque chose de présentable !

            • Partager sur Facebook
            • Partager sur Twitter
              25 janvier 2021 à 22:21:25

              L'erreur est surtout écrite dans la console.

              Tu passes un tableau de char au lieu d'une variable "File".

              https://koor.fr/C/cstdio/feof.wp

              • Partager sur Facebook
              • Partager sur Twitter
              "Skill will accomplish what is denied to force" (Mertvago,1995)
                26 janvier 2021 à 9:03:43

                Sur ta capture d'écran, tu ne teste pas le retour de fopen. Tu utilises mal feof aussi.
                • Partager sur Facebook
                • Partager sur Twitter

                git is great because Linus did it, mercurial is better because he didn't.

                language c exercice sur les fichier

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown