Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code Pour Verbes Irreguliers

    7 janvier 2006 à 1:39:05

    Bonjour, voici mon code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <math.h>


    int main(int argc, char *argv[])
    {
    printf("Bonjour et Bienvenue dans Le Logiciel VI Interrogator\n");//information
    printf("Nous allons maintenant commencer\nn'oublie pas d'ecrire en minuscule et sans accents\n");
    system("PAUSE");

    //déclaration des variables
    char verbes;
    char preterit[20];
    char pp[20];
    char traduction[20];
    long erreurs;
    erreurs=0;

    //choix au hazard d'un verbe
    srand(time(NULL));
    verbes = (rand() % (2 - 1)) + 1;

    //question sur les Verbes
    switch (verbes)
    {
    case 1:
    printf("Infinitif: arise\n");

    printf("Preterit: ");
    scanf("%s",&preterit);
    if (strcmp(preterit,"arose") != 1)
    {
    printf("Bravo\n");
    }
    else
    {
    printf("Erreur\n");
    erreurs++;
    }

    printf("Participe passee: ");
    scanf("%s",&pp);
    if (strcmp(pp,"arisen") != 1)
    {
    printf("Bravo\n");
    }
    else
    {
    printf("Erreur\n");
    erreurs++;
    }

    printf("Traduction: ");
    scanf("%s",&traduction);
    if (strcmp(traduction,"s'elever || elever") != 1)
    {
    printf("Bravo\n");
    }
    else
    {
    printf("Erreur\n");
    erreurs++;
    }

    break;



    default:
    printf("Je N'ai pas encore fini!! ");
    }

    system("PAUSE");
    return 0;
    }

    n'y a t'il pas un moyen plus simple que les switch parce ke si j'ai 150 verbes a faire ... Si oui pouvez Vous m'expliker Merci
    • Partager sur Facebook
    • Partager sur Twitter
      7 janvier 2006 à 2:59:38

      J'ose même pas regarder un code non indenter..
      • Partager sur Facebook
      • Partager sur Twitter
        7 janvier 2006 à 3:03:36

        Sans vouloir être méchant je partage l'avis de djeepy, je te rappelle également que des personnes se sont fatiguées afin de créer une coloration spécial pour le code C, autant en profiter.

        Ceci fait, je suis sur que beaucoup de personnes seraient ravies de t'aider.
        • Partager sur Facebook
        • Partager sur Twitter
          7 janvier 2006 à 8:10:06

          voila j'ai ajouter des commentaire
          • Partager sur Facebook
          • Partager sur Twitter
            7 janvier 2006 à 9:04:06

            pour ce genre de truc, il faut utiliser une base de données ou un fichier xml hein ... :x
            • Partager sur Facebook
            • Partager sur Twitter
              7 janvier 2006 à 9:36:28

              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>
              #include <math.h>


              int main(int argc, char *argv[])
              {
              printf("Bonjour et Bienvenue dans Le Logiciel VI Interrogator\n");//information
              printf("Ce logiciel a ete cree par Matthieu GILLOOTS Tout Droit Reservee\n\n");
              printf("Nous allons maintenant commencer\nn'oublie pas d'ecrire en minuscule et sans accents\n");
              system("PAUSE");

              //déclaration des variables
              char verbes;
              char preterit[20];
              char pp[20];
              char traduction[20];
              long erreurs;
              erreurs=0;

              //choix au hazard d'un verbe
              srand(time(NULL));
              verbes = (rand() % (2 - 1)) + 1;

              //question sur les Verbes
              switch (verbes)
              {
              case 1:
              printf("Infinitif: arise\n");

              printf("Preterit: ");
              scanf("%s",&preterit);
              if (strcmp(preterit,"arose") != 1)
              {
              printf("Bravo\n");
              }
              else
              {
              printf("Erreur\n");
              erreurs++;
              }

              printf("Participe passee: ");
              scanf("%s",&pp);
              if (strcmp(pp,"arisen") != 1)
              {
              printf("Bravo\n");
              }
              else
              {
              printf("Erreur\n");
              erreurs++;
              }

              printf("Traduction: ");
              scanf("%s",&traduction);
              if (strcmp(traduction,"s'elever || elever") != 1)
              {
              printf("Bravo\n");
              }
              else
              {
              printf("Erreur\n");
              erreurs++;
              }

              break;



              default:
              printf("Je N'ai pas encore fini!! ");
              }

              system("PAUSE");
              return 0;
              }
              • Partager sur Facebook
              • Partager sur Twitter
                7 janvier 2006 à 14:22:34

                Peut tu m'expliker la méthode pour les fichier xml ou autre merci
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  7 janvier 2006 à 14:25:18

                  Ben voilà un petit lien: ICI
                  Sinon c'est pas le bon forum pour ça (et indente ton code ça donne même pas envie de le lire :( )
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 janvier 2006 à 18:43:39

                    oui mais je ne comprend pas trop peut tu m'expliker merci ou me donner le code merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 janvier 2006 à 0:40:51

                      En fait, si tu veux faire en C il te faudrait utiliser des tableaux ou des chaines de caractère, et les tableaux c'est dans la suite du cours. Tu devrais donc attendre la fin du cours, sans quoi tu auras tout un tas de problèmes.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 janvier 2006 à 0:43:37

                        merci mais d'apres ce que j'ai compris mathéo n'est pas la de revenir donc si vous avez une autre solution
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 janvier 2006 à 0:53:48

                          comment ca il a pas l'air de revenir ? Bien sur qu'il revient ! Il faut juste etre un peu patient.

                          Si t'es pas satisfait des cours sur le siteduzéro, tu peux toujours aller voir sur un autre site, un autre langage...

                          Par exemple je sais qu'on peut faire ca simplement en ocaml, mais ce n'est pas le sujet du cours du siteduzéro.h
                          • Partager sur Facebook
                          • Partager sur Twitter
                            8 janvier 2006 à 1:01:22

                            si je suis tres satisfait mais c'est ecrit qu'il ne reviendrai pas avant 1mois (cf: message bug du site qui dit que le site n'est pas mort sur l'accueil)
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              8 janvier 2006 à 7:43:06

                              1 mois? j'ai rien vu de tel..

                              Citation : La news

                              P.S. : En l'occurence, ne vous attendez pas à un nouveau chapitre des cours avant une bonne quinzaine de jours ;)

                              • Partager sur Facebook
                              • Partager sur Twitter
                                8 janvier 2006 à 10:00:40

                                warman tu sortais du bar quand à lu cette news ? :-/
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  8 janvier 2006 à 10:28:21

                                  Il faut en effet une base de donée, ou un fichier xml.
                                  Tu a de bones bilbiotèques multiplateforme pour le xml.
                                  Tu peut aussi faire sa simplement avec un simple fichier texte et la stl en c++
                                  Alez, je te fait le code:
                                  #include <vector>
                                  #include <iostream>
                                  #include <ifstream>
                                  #include <string>

                                  typedef std::vector<std::string> TabWord;//Type "Tableau de mots"
                                  TabWord LoadFile(std::string FileName)
                                  {
                                    TabWord Tab;
                                    //Tableau de mots
                                    std::ifstream In(FileName.c_str());
                                    //string.c_str() return un char*
                                    //std::ifstream est un objet "lecture de fichier"
                                    std::string Ligne;//Ligne pendent la lecture ligne par ligne
                                    while(std::getline(In, Ligne))
                                    //Tant que on récupère une ligne de In vers Ligne
                                    {
                                      //Le fichier est au formet :
                                      //mot1
                                      //Mot2
                                      //mOt3
                                      Tab.push_back(Ligne);//On "POUSE" le mot a la fin de la ligne
                                    }
                                  }

                                  //Mentenant, on a dans la fonction main :
                                    TabWord ListeVerbe = LoadFile("monfichier.txt");
                                    //On a capturer le fichier
                                    //Puis on parcoure la tableau :
                                    for(TabWord::iterator i = ListeVerbe.begin(); i != ListeVerbe.end(); i++)
                                    //i est un pointeur, on la décale a chaque boucle vers l'avent, tant qu'il n'éteint pas la fin. Attention a ne jamais utiliser un pointeur qui vas vers ListeVerbe.end(), cette endroit est a l'éxtérieur du tableau!
                                    {
                                      std::cout << *i;
                                      //*i permet de récupèrer la chaine de caractère, std::string, qui corespond a l'endroit ou on est
                                    }
                                    On peut accèder directement a un element au hazard :
                                    int NbElement = TabVervbe.count();
                                    std::cout << TabVerbe[rand()%NbElement];


                                  Voila, avec sa tu n'a cas charger deux fichier, qui contiendrons autent de mot. Puis en suite tu auras deux tableaux ^^

                                  Edit: C'est un code non tester, même si j'ai déja manipuler des std::vector et des std::ifstream, une faute de frape est vite ariver ^^
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    8 janvier 2006 à 10:49:37

                                    il y a un prbleme avec ces lign la
                                    #include <vector>
                                    #include <iostream>
                                    #include <ifstream>
                                    #include <string>
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      8 janvier 2006 à 11:07:27

                                      -_- *Zen*
                                      Bon, ce sont els entètes std, et il faut compiler ce fichier comme un projet c++
                                      SI tu a un ide style code::block, devc++, visualstudio, Kdevelop, ce code devrais compielr directe.

                                      En suite on ne dit jamais "j'ai un problème avec ***", mais on dit : "Les lignes *** provoquent +++". C'est comme si je disai, j'un un problème avec ma voiture... Débroille toi pour devniner ce que c'est juste avec ce que je viend e te dire!
                                      Par contre, "J'ai un problème avec ma voiture qui ne frêne plus", on sais déja autour de quoi sa tourne.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        8 janvier 2006 à 11:55:01

                                        En meme temps tu balances un code incompréhensible à quelqu'un qui comprend pas, alors que tout le monde le savait à l'avance, et tu donnes pas plus d'explications que ca, faut pas t'étonner que ca serve en gros à rien hein.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          8 janvier 2006 à 12:00:34

                                          Citation : bluestorm

                                          En meme temps tu balances un code incompréhensible à quelqu'un qui comprend pas


                                          1 - Si il est incompréensible, se serais bizare qu'il comprène
                                          2 - Il est compréensible. D'ou l'existence et la véraciter du fait qu'il ne comrpend pas.

                                          Citation : bluestorm

                                          alors que tout le monde le savait à l'avance


                                          Moi je ne le savait pas, donc ce n'est aps tout le monde.

                                          Citation : bluestorm

                                          , et tu donnes pas plus d'explications que ca


                                          Biensur que si, j'ai rajouter des tones de comentaire, d'abitude j'en met 1 par block, et sa me sufit pour ma relecture.

                                          Citation : bluestorm

                                          faut pas t'étonner que ca serve en gros à rien hein.


                                          Biensur que sa ser a quelque chose, sa lui epargne des jous de recherche. Si il arive a compiler, il pouras voir ce que sa done en traficotant, et il adaptera pour lui.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 janvier 2006 à 12:16:57

                                            Hum. Tu rigoles ?
                                            Il comprend rien je pense à en gros tout le code. Donc il va pas traficoter, il va te demander de traficoter toi-même jusqu'à ce que ca fasse exactement ce qu'il veut, et là il copie/collera le code et le compilera.

                                            Tes commentaires :
                                            - fautes d'orthographe (je sais, je fais chier mais c'est très très important)
                                            - pas très utile même si l'effort et louable.

                                            Exemples en vrac :
                                            typedef std::vector<std::string> TabWord;//Type "Tableau de mots"
                                            tout de suite on comprend beaucoup mieux

                                            TabWord Tab;
                                            //Tableau de mots
                                            pareil. Quand on connait pas ou peu les tableaux c'est pas super utile.


                                            std::ifstream In(FileName.c_str());
                                            //string.c_str() return un char*
                                            //std::ifstream est un objet "lecture de fichier"
                                            à vos souhaits. Quand on connait pas le C++, on sais pas ce que c'est qu'un char* (en plus char* c'est pas un type, mais bon...), on sait pas ce que c'est qu'un "objet"...


                                            std::string Ligne;//Ligne pendent la lecture ligne par ligne
                                            while(std::getline(In, Ligne))
                                            //Tant que on récupère une ligne de In vers Ligne
                                            - faute d'orthographe
                                            - à la rigueur ca serait compréhensible, mais bon "une ligne de In vers Ligne" si on connait pas déja ce dont tu parles ya pas grande chance.


                                            Tab.push_back(Ligne);//On "POUSE" le mot a la fin de la ligne
                                            - pas mal la faute :p
                                            - si on connait pas les Stacks, ya pas d'espoir, ou alors il faut développer


                                            TabWord ListeVerbe = LoadFile("monfichier.txt");
                                            //On a capturer le fichier
                                            - on l'a capturé, et maintenant on le torture ? :pirate:

                                            //Puis on parcoure la tableau :
                                            for(TabWord::iterator i; i != ListeVerbe.end(); i++)
                                            //i est un pointeur, on la décale a chaque boucle vers l'avent, tant qu'il n'éteint pas la fin. Attention a ne jamais utiliser un pointeur qui vas vers ListeVerbe.end(), cette endroit est a l'éxtérieur du tableau!
                                            - orthographe
                                            - si on connait pas la STL (itérateurs) et les pointeurs, je vois pas trop comment on peut assimiler tout ça

                                            std::cout << *i;
                                            //*i permet de récupèrer la chaine de caractère, std::string, qui corespond a l'endroit ou on est
                                            toujours pareil, si on a pas de notions des pointeurs, des chaines, des tableaux, on a aucune chance.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              8 janvier 2006 à 12:27:23

                                              Chaine, pointeur, tableau... c'est aussi bien du c++ que du c ^^
                                              Bon, alors, un object c'est une variable, mais qui peut contenir des fonctions, et plusieures petites variables, c'est en quelque sorte une grosse boite.
                                              push_back, permet de rajouter a la fin de la liste a la fin du tableau, ce qui est en paramêtre. Ici on peut facilement faire le raprochement avec une liste de course, avec un push_back a chaque fois ou on rajoute quelque chose.

                                              //In vers Ligne
                                              Je veut dire par la que l'on récupère une ligne de "In" et que on la met dans "Ligne"
                                              [A chaque foi que l'on fait sa, In se débrouille pour "décaler" l'endroit ou il se trovue dans le fichier, pour que la prochaine fois on récupère la ligne suivante. Si tu conasi le php c'est comme fread($fp);]
                                              *i, permet, comme on dit dans le jargon, de "déférencer le pointeur", sa veut dire en gros que : "i" est un file imaginaire relier a un element de la liste. *i est l'élément lui même.

                                              ++i décale el file imaginaire vers la fin de la liste. .begin revoi un lien imaginaire vers le premier element, .end renvoi un file imaginaire APRES le dernier élément, c'est pour sa qu'il ne faut jamais aller vers .end(). Au pire, on peut faire .end()-- pour décaler le file imaginaire vers l'avent, et donc être relier au denrier élément.

                                              VOila, mentenant, je pensse que c'est a lui de demander des eclairsisement sur ce qu'il ne comrpend pas.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                8 janvier 2006 à 12:34:10

                                                Muhaha. JC_Master, ou comment résumer les objets, les pointeurs, les chaines, les tableaux, la stl, les flux et les itérateurs en un demi message, en étant fermement convaincu que le lecteur, qui est au niveau des derniers cours de m@teo, ne va pas avoir de gros problèmes :D
                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Code Pour Verbes Irreguliers

                                                × 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