Aide en c

zouheirpo -  
 zouheirpo -
Bonjour,qlq peu m aide dans ma program??PLAISE
une fonction a des paramettre suivants :(char*zou,char*sal)
cette fonction permet de copier le fichier de nom zou dans le fichier de nom sal en remplacant chaque caractére "c" de zou par le caractére "C" dans sal.
plaise aidez moi
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Poste le code que tu as fait qu'on puisse t'aider.
    Cdlt
    0
    1. zouheirpo Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
       
      Bjr et merci pour ta reponce
      bon jai fait une essaye mé j ai pa arrivé de complété le programe
      voila ce que jai fai
      j ai pa travaillé avec la fonction
      #include <stdio.h>
      #include <stdlib.h>
      int main()
      {
      char* zouheir;
      char* salwa;
      int rc;
      int jh;
      FILE* R;
      FILE* L;
      zouheir=(char*)malloc(20);
      salwa=(char*)malloc(20);
      printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
      gets(zouheir);
      L=fopen("zou.txt","w");
      if(L==NULL) printf("erreur");
      else fputs(zouheir,L);
      printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
      gets(salwa);
      R=fopen("sal.txt","w");
      if(R==NULL) printf("erreur");
      else fputs(salwa,R);
      puts(zouheir);
      puts(salwa);
      fclose(R);
      fclose(L);
      rc = fseek(R,0,SEEK_SET);
      jh=fseek(R,0,SEEK_SET);
      strcpy(zouheir,salwa);
      return;
      return 0;
      }
      0
  2. zouheirpo Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
     
    bjr et merci pour ta reponce
    bon jai fait une essaye mé j ai pa arrivé de complété le programe
    voila ce que jai fai
    j ai pa travaillé avec la fonction
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    char* zouheir;
    char* salwa;
    int rc;
    int jh;
    FILE* R;
    FILE* L;
    zouheir=(char*)malloc(20);
    salwa=(char*)malloc(20);
    printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
    gets(zouheir);
    L=fopen("zou.txt","w");
    if(L==NULL) printf("erreur");
    else fputs(zouheir,L);
    printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
    gets(salwa);
    R=fopen("sal.txt","w");
    if(R==NULL) printf("erreur");
    else fputs(salwa,R);
    puts(zouheir);
    puts(salwa);
    fclose(R);
    fclose(L);
    rc = fseek(R,0,SEEK_SET);
    jh=fseek(R,0,SEEK_SET);
    strcpy(zouheir,salwa);
    return;
    return 0;
    }
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Lorsque tu postes, utilise le bouton "code" à droite de souligner pour garder l'indentation. Sinon c'est illisible.
    Sinon, pourquoi fais-tu une allocation dynamique alors que tu connais ta taille à la compilation ?
    Un simple : char zouheir[20]; fera amplement l'affaire.
    A la place de gets, utilise fgets.

    Sinon lorsque tu fais : rc = fseek(R,0,SEEK_SET); alors que tu as fermé le fichier juste au-dessus.

    strcpy(zouheir,salwa);
    Là, tu mets à la place, nomFonction(zouheir,salwa);

    Et tu réalises la fonction qui copie zouheir dans salwa en modifiant les c par C.
    Cela se fait simplement avec une simple boucle for et un if.

    Et à la fin du fichier, un simple : return 0; suffira.
    0
    1. zouheirpo
       
      plaise tu peu m explique comment ecrir la fonction qui fai la copie, plaise vraiment je me suis coinssé ,et merci pour tous ce que tu a fai pour moi.
      0
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Ben, un simple :
    void titi(const char *src, char *dst) {
        for(int i=0;i<strlen(src)+1;i++) {
              if( src[i]== 'c') 
                 dst[i]='C';
              else
                 dst[i]=src[i];
        }
    }
    

    Après, faudrait faire attention au débordement. En gros, il ne faut pas que l'indice ne dépasse pas 20 (taille de ton tableau).
    0
    1. zouheirpo
       
      bon voila ce que j ai fais mé toujors pa le resultat!!
      #include <stdio.h>
      #include <stdlib.h>
      int main()
      {
      int titi(const char zouheir[20], char salwa[20],int i);

      for(int i=0;i<strlen(zouheir+1);i++)

      if( zouheir[i]== 'c');
      salwa[i]='C';
      else
      salwa[i]=zouheir[i];
      return 0;
      char* zouheir;
      char* salwa;
      int rc;
      int jh;
      FILE* R;
      FILE* L;
      zouheir=(char*)malloc(20);
      salwa=(char*)malloc(20);
      printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
      gets(zouheir);
      L=fopen("zou.txt","w");
      if(L==NULL) printf("erreur");
      else fputs(zouheir,L);
      printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
      gets(salwa);
      R=fopen("sal.txt","w");
      if(R==NULL) printf("erreur");
      else fputs(salwa,R);
      puts(zouheir);
      puts(salwa);
      fclose(R);
      fclose(L);
      rc = fseek(R,0,SEEK_SET);
      jh=fseek(R,0,SEEK_SET);

      return;
      return 0;
      }
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > zouheirpo
         
        Tu ne peux pas encapsuler des fonctions dans un main !
        De plus, tu n'as pas tenu compte de mes précédentes remarques (return, fseek, ...) et ton code n'est toujours pas indenté.
        0
      2. zouheirpo > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        je te jure mon frere fiddy que j ai pa arrivé de resoudre ce probleme et demain j ai l exposé .
        je sais pa quoi faire vraiment !
        si tu peux me corrigé mes fautes je serai tellement fiére.plaise
        0
    2. zouheirpo
       
      parceque je suis qu un debutant dans la programation et j ai pa comprend quels de té bon remarques c vraiment dommage!!
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Je n'ai pas tout corrigé, mais ton programme devrait marcher.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int titi(const char zouheir[20], char salwa[20]) {
        int i;
        for(i=0;i<strlen(zouheir)+1;i++)
            if( zouheir[i]== 'c')
                salwa[i]='C';
            else
                salwa[i]=zouheir[i];
        return 0;
    }
    
    int main(void)
    {
    
        char zouheir[20];
        char salwa[20];
        FILE* R;
        FILE* L;
        printf("entrez la chaine de caractére dans le fichier de nom zouheir\n");
        gets(zouheir);
        L=fopen("zou.txt","w");
        if(L==NULL) printf("erreur");
        else fputs(zouheir,L);
        printf("entrez la chaine de caractére dans le fichier de nom salwa\n");
        gets(salwa);
        R=fopen("sal.txt","w");
        if(R==NULL) printf("erreur");
        else fputs(salwa,R);
        puts(zouheir);
        puts(salwa);
        titi(zouheir,salwa);
        puts(zouheir);
        puts(salwa);
    
        return 0;
    }
    
    0
    1. zouheirpo
       
      merci mon frere
      mé quand je l éxcute ya pas de changement ,il ne copier pa les lette
      je c pas pourquoi?
      s il te plais aide moi pour la derniere fois.plaise
      0
  7. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Sur ma machine, ça marche :
    entrez la chaine de caractére dans le fichier de nom zouheir
    coucou
    entrez la chaine de caractére dans le fichier de nom salwa
    lol
    coucou
    lol
    coucou //zouheir
    CouCou //salwa, cela contient zouheir avec des C majuscule
    

    Par ailleurs, je viens de me rendre compte que j'ai supprimé tes fclose(R) et fclose(L). N'oublie pas de les mettre ;-).
    0
    1. zouheirpo
       
      j ai envi de pleurer
      c pa encor marché
      ché pa ou se trouve ce putin faute
      0
    2. zouheirpo
       
      c pa marché frere
      complaité votre plaisir
      slt
      0