Partage
  • Partager sur Facebook
  • Partager sur Twitter

zWTF !

Traduction d'acronymes

    1 mai 2012 à 13:15:35

    Mois : Mai
    Sujet : Manipulation de fichiers


    zWTF


    Aujourd'hui, je vous propose de coder un petit utilitaire permettant de traduire des acronymes en français.
    Je me suis inspirer du très célèbre programme wtf, inclut dans bsd-games.


    Voici plus de 8300 acronymes français
    Qu'est-ce qu'on dit ? Mici !

    Le tout en deux fichiers:

      • wtf : contient la liste des acronymes
    • define : contient la liste des définitions
    Edit : wtf et define

    Niveau 1


    Compétences minimales requises : Partie 2 : [Théorie] Techniques avancées.

    Ici, l'utilisateur écrit un acronyme et le programme sort tout simplement sa signification. :)

    ** zWTF (niveau 1) **
    
    Un titi peu de blabla inutile si l'envie vous prend.
    
    
    Entrez un acronyme : GUL
    
            Traduction : Groupes d'Utilisateurs de Linux



    Niveau 2


    Compétences minimales requises : Partie 2 : [Théorie] Techniques avancées.

    Maintenant, vous gérerez les acronymes ayant plusieurs significations :

    ** zWTF (niveau 2) **
    
    Entrez un acronyme : IAE
    
            Traduction : Institut d'Administration des Entreprises
                         Intégration d'Applications d'Entreprise



    Niveau 3


    Compétences minimales requises : Partie 2 : [Théorie] Techniques avancées.

    Pour finir, allons un petit peu plus loin : prenez en charge les fichiers et paramètres du main. Par exemple, l'utilisateur peut entrer un nom de fichier et le programme traduit tout les acronymes qu'il contient. Pour ce qui est des arguments du main, par exemple :

    ./prog GUL ABE
    
    GUL    : Groupes d'Utilisateurs de Linux
    ABE    : Avion Bombardier d'Eau
    ABE    : Agence Bruxelloise pour l'Entreprise


    ./prog fichier.txt
    
    A      : Alanine
    A2F    : Alternat Bi-Fréquence
    
    ...


    Ou encore :

    ** zWTF (niveau 3) **
    
    Fichier (tapez 1) ou acronyme (tapez 2) ? : 1
    Entrez le nom du fichier : fichier.txt
    
    A      : Alanine
    A2F    : Alternat Bi-Fréquence
    
    ...


    L'affichage n'est pas très important, concentrez-vous sur le programme en lui-même. ;)


    Bonne chance à tous !

    -
    Edité par paraze 3 mars 2014 à 13:17:54

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      1 mai 2012 à 13:21:22

      Génial !!
      Mais je pense que le fichier des acronymes est mal uploadé, je n'arrive pas à le downloader.
      • Partager sur Facebook
      • Partager sur Twitter
        1 mai 2012 à 13:24:23

        Je viens à l'instant d'éditer, j'avais fais une erreur lors de la copie du lien. :)
        Pense bien à écrire le texte entre les guillemets. ^^

        Ça m'a pris 3 semaines pour tout C/C !
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          1 mai 2012 à 13:27:17

          Soit c'est ma connexion soit le site est hors ligne :-°
          J'arrive toujours pas
          • Partager sur Facebook
          • Partager sur Twitter
            1 mai 2012 à 13:37:19

            T'as bien fait ça ?

            Image utilisateur


            Par exemple, dans "Étape de validation", en dessous de l'image il y a marqué : "Recopiez "poulain" ci-dessous :". C'est ce que je fais puis j'appuie sur entrer. Ensuite, le DL commence directement.

            Tu n'arrives pas à te connecter ici ?


            Edit : J'ai précisé l'utilité des deux fichiers du .tar.bz.
            • Partager sur Facebook
            • Partager sur Twitter
              1 mai 2012 à 13:38:49

              Glop glop, on va s’amuser !

              Merci qui ? Meeeerciii paraaaaze !

              Pour le niveau 3, on doit reconnaître les acronymes des noms de fichier dans les paramètres de main ?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                1 mai 2012 à 13:39:12

                Citation : Parase

                Tu n'arrives pas à te connecter ici ?


                Exactly.
                • Partager sur Facebook
                • Partager sur Twitter
                  1 mai 2012 à 13:45:03

                  Deeeee rien Maëëëlaaaaan ! ^^

                  Citation

                  Pour le niveau 3, on doit reconnaître les acronymes des noms de fichier dans les paramètres de main ?


                  "les acronymes des noms de fichier", c'est-à-dire ?


                  Edit : C'est bizarre Ouss4... Maëlan, tu arrives à te connecter ?
                  Je ré-upload le fichier depuis mediafire.

                  Edit 2 : Done.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    1 mai 2012 à 13:52:37

                    Merci, j'ai pu downloadé celui de Mediafire. ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      1 mai 2012 à 13:53:06

                      moi j'ai réussi mais le mac n'aime pas trop ton .tar (j'entends pas il n'aime pas trop qu'il ne s'ouvre pas hein ^^ )
                      mais sinon sous mac avec Xcode quelqu'un sait comment on fait pour réussir à lire et écrire dans un fichier car j'ai entendu que Xcode créé un fichier mais pas au bon endroit ?
                      merci :)

                      EDIT : non c'est bon grâce au lien de mediafire :)
                      par contre ma question est toujours sans réponse

                      EDIT 2 : mais le deuxième acronyme c'est Alternat Bi-Fréquence alors que tu mets A2F dans la liste ? au lieu de ABF
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        1 mai 2012 à 14:02:02

                        Oui par ce que Bi est 2 c'est la même chose :-°
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          1 mai 2012 à 14:10:16

                          Citation

                          moi j'ai réussi mais le mac n'aime pas trop ton .tar


                          Rololo...

                          tar xzvf archive.tar.gz     # ---> .tar.gz = .tgz


                          Tu peux aussi utiliser l'utilitaire GUI Tar par exemple.
                          Mais bon, moi et Mac OS X ça fait 42, je ne peux pas trop t'aider.


                          Edit : Tu voulais dire que c'était le lien de DL qui allait pas ou l'archive ? :-°
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            1 mai 2012 à 14:22:02

                            ça a marché avec mediafire mais pour mon problème de fichier personne ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 mai 2012 à 14:22:47

                              @tib92 moi, avec mon mac, il me crée un fichier à l'endroit de l'exécutable et un dans le dossier que j'ai choisi… :-° je sais pas si c'est pareil chez toi… :)
                              • Partager sur Facebook
                              • Partager sur Twitter
                              N'oubliez pas les +1 pour les messages qui vous ont aidés !
                                1 mai 2012 à 14:26:58

                                Mais soyez un peu précis !
                                Dans un de tes messages, tu as deux problèmes de fichiers. :p
                                Et je t'ai poser une question dans mon précédant message.

                                Sinon, pour "Xcode créé un fichier mais pas au bon endroit ?", je n'ai que trois choses à dire :

                                • Google
                                • Testes la chose
                                • Pourquoi as-tu besoin de créer un fichier ?

                                Dans tout les cas, je ne vois pas pourquoi Xcode ferait des siennes.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 mai 2012 à 14:30:30

                                  Citation : tib92

                                  ça a marché avec mediafire mais pour mon problème de fichier personne ?


                                  Google.
                                  Edit scheme > use custom working directory
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    1 mai 2012 à 14:38:25

                                    pourtant ce code ne marche pas :

                                    #include <stdio.h>
                                    #include <stdlib.h>
                                    
                                    int main(void)
                                    {
                                        FILE *fichier = NULL;
                                        
                                        fichier = fopen("text.txt", "w");
                                        
                                        if (!fichier) 
                                            fputc('a', fichier);
                                        else
                                        {
                                            perror("Erreur");
                                            exit(EXIT_FAILURE);
                                        }
                                        
                                        fclose(fichier);
                                        
                                        return EXIT_SUCCESS;
                                    }
                                    

                                    il me renvoie

                                    Erreur: Undefined error: 0
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 mai 2012 à 14:45:11

                                      Que dire... LOL !

                                      Voici ton programme :

                                      Si l'ouverture à échouée : écrire "a".
                                      Sinon : dire que ça a bogué puis quitter.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        1 mai 2012 à 14:51:00

                                        d'accord je croyais que !fichier était égale à fichier != NULL
                                        merci :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          1 mai 2012 à 15:00:11

                                          Tiens, je viens de voir que je ne parle presque pas de cet opérateur logique dans le tuto C.
                                          Dis toi que cela inverse tout simplement la valeur d'une valeur booleenne.

                                          FILE *f = fopen("f", "r"); /*On va dire que l'opération a raté (donc, f = 0)*/
                                          
                                          if(f == NULL) /*Si l'opération à raté (true)*/
                                          if(f) /*Si l'opération a réussi (false)*/
                                          if(!f) /*Si l'inverse de la valeur booleenne de f != 0 (true)*/
                                          
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Anonyme
                                            1 mai 2012 à 15:12:06

                                            d'accord merci :)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              1 mai 2012 à 15:15:15

                                              Après cette vingtaine de messages, j'espère voir fleurir quelques codes. :)

                                              Sur ce, je retourne à mes révisions, bonne prog' !
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Anonyme
                                                1 mai 2012 à 15:30:53

                                                désolé je ne pourrais pas le faire tout de suite, j'essaie de faire les anciens défis
                                                mais promis je le ferai :)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Anonyme
                                                  1 mai 2012 à 16:14:05

                                                  C'est quoi ce délire de nommé les variables avec des sous-tiré ? :-°
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    1 mai 2012 à 16:16:26

                                                    du code obscursi, mais je pense que je vais le faire normalement finalement ^^
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    perror(const char * str); will save your life !
                                                      1 mai 2012 à 17:33:52

                                                      Ton lien sur Free est bizarre. Je rentre les mots en boucle, non seulement ça ne lance aucun téléchargement mais en plus ça ouvre les pages des sites correspondants (peut-être à cause des cookies bloqués, j’ai pas vérifié)… Je trouve bizarre de mettre des pubs comme protection anti-spam. Si c’est vraiment le site de Free, ça a changé depuis la dernière fois que j’y suis allé.

                                                      Citation : paraze

                                                      Citation

                                                      Pour le niveau 3, on doit reconnaître les acronymes des noms de fichier dans les paramètres de main ?


                                                      "les acronymes des noms de fichier", c'est-à-dire ?



                                                      Ben, je voulais dire que dans le niveau 3, on peut faire ceci :
                                                      ./prog FFE           # affiche les significations de l’acronyme FFE
                                                      ./prog fichier.txt   # ouvre le fichier et affiche les significations de tous les acronymes qu’il contient

                                                      Donc on doit écrire une fonction pour distinguer les deux cas ?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        1 mai 2012 à 18:00:06

                                                        Ah oui d'accord. :)

                                                        Euh oui si tu veux, mais tu peux aussi faire tout simplement :

                                                        Est-ce un fichier (tapez 1) ou un acronyme (tapez 2) ?
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Anonyme
                                                          1 mai 2012 à 21:05:11

                                                          Citation : SylafrsOne

                                                          j'ai pas tout à fait terminé


                                                          Moi je n'en ai fait que le niveau 1 :-° , étant donné que je faisait un peu de lieu de Bode pour mon exam...bon osef.

                                                          J'ai fait le niveau un, tout codé dans la main comme un gros bourrin.
                                                          J'éditerai demain pour un code optimisé et pour les autres niveau.

                                                          #include <stdio.h>
                                                          #include <stdlib.h>
                                                          #include <string.h>
                                                          
                                                          #define MAX  10
                                                          #define MAXMAX 100
                                                          
                                                          int main(void)
                                                          {
                                                              FILE *wtf = NULL, *define = NULL;
                                                          
                                                              int  pos = 1,  c = 0;
                                                              char ret[MAX] = {""}, acro[MAX] = {""}, def[MAXMAX] = {""};
                                                          
                                                              puts("Entrer un acronym");
                                                              scanf("%s", ret);
                                                          
                                                              if(!(wtf = fopen("wtf", "r")) || !(define = fopen("define", "r")))
                                                              {
                                                                  puts("Erreur !");
                                                                  return EXIT_FAILURE;
                                                              }
                                                          
                                                          
                                                              while(fgets(acro, MAX, wtf) != NULL)
                                                              {
                                                                 acro[strlen(acro) - 1] = '\0';
                                                          
                                                                 if(strcmp(ret, acro) == 0)
                                                                     break;
                                                          
                                                                 pos++;
                                                          
                                                              }
                                                          
                                                          
                                                              while(pos > 1)
                                                              {
                                                                  c = fgetc(define);
                                                                  if(c == '\n') pos--;
                                                              }
                                                              fgets(def, MAXMAX, define);
                                                          
                                                              printf("\n%s --> %s ", acro, def);
                                                          
                                                              fclose(wtf), fclose(define);
                                                          
                                                              return 0;
                                                          }
                                                          
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            1 mai 2012 à 22:02:35

                                                            Bonjour,

                                                            Je n'ai pas vraiment le temps de le faire en C, là. Ça me fait sourire de penser que ça ne prendrait que quelques lignes en python, et 5x moins de temps à écrire (même si ce n'est pas non plus la mort en C si l'on sait où on va).
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            zWTF !

                                                            × 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