Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question Aléatoire

    6 janvier 2006 à 19:20:04

    Bonjour,
    Je vais crée un jeu en c sur les verbe irregulier et j'aimerais savoir comment faire pour qu'il choisissent un verbe et pause les questions preterit,traduction, participe passée.
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      6 janvier 2006 à 19:26:45

      pour qu'il choisisse un verbe au hasard tu crés une variable verbe par exemple. En suite tu utilise la fonction srand :
      srand(time(NULL));
       verbe = (rand() % (1 - 100 + 1)) +1;


      tu remplaces le 100 par le nombre de verbe que tu veux et ensuite tu fais un switch
      • Partager sur Facebook
      • Partager sur Twitter
        6 janvier 2006 à 19:43:55

        Merci mais il me mais un erreur voici mon code

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

        int main(int argc, char *argv[])
        {
        printf("Bonjour et Bienvenue dans Le Logiciel VI Interrogator\n");
        printf("Ce logiciel a ete cree par Matthieu GILLOOTS Tout Droit Reservee\n\n");
        printf("Nous allons maintenant commencer");
        system("PAUSE");

        long verbes

        srand(time(NULL));
        verbes = (rand() % (1 - 150 + 1)) +1;

        return 0;
        }


        et l'erreur ce situe la

        srand(time(NULL));

        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2006 à 19:47:42

          Il faut include time.h

          #include <time.h>
          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2006 à 19:49:44

            Merci mais sa ne marche toujour pas il ne ve pas lancer le programme toujour l'erreur au meme endroit
            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              6 janvier 2006 à 19:54:15

              Tu n'as pas mis de ; après la déclaration de ta variable.
              • Partager sur Facebook
              • Partager sur Twitter
                6 janvier 2006 à 19:56:46

                Impecable merci
                Et pour le ; c'est pas la faute la plus repandu pour un programmeur ?? :lol::lol::lol:
                Merci
                • Partager sur Facebook
                • Partager sur Twitter
                  6 janvier 2006 à 19:59:32

                  Citation : ekodant

                  pour qu'il choisisse un verbe au hasard tu crés une variable verbe par exemple. En suite tu utilise la fonction srand :

                  srand(time(NULL));
                   verbe = (rand() % (1 - 100 + 1)) +1;



                  tu remplaces le 100 par le nombre de verbe que tu veux et ensuite tu fais un switch


                  Mais non, ce n'est pas comme ça qu'il faut faire ^^ c'est comme ça :
                  srand(time(NULL));
                   verbe = (rand() % (nb_verbes - 1)) + 1;

                  et pas
                  srand(time(NULL));
                   verbe = (rand() % (1 - nb_verbes + 1)) + 1;
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 janvier 2006 à 20:06:19

                    Oulà il va pas se tapper 150 swtich quand meme :o T'imagines un switch par verbe o_O

                    Bon moi je pense que le mieux pour ton programme est :
                    De créer un fichier et de mettre tes verbes sous la forme :


                    Verbe,Prétérite,Participe passé


                    ainsi par exemple dans ton fichier texte au début tu as :


                    Do,Did,Done
                    Go,Went,Gone
                    Come,Came,Come
                    ...


                    Ensuite donc tu tires au hasard et tu lis dans ton fichier texte la ligne correspondant au nombre tiré puis tu annalyses la ligne et tu la sépares en trois blocs (tu split sur la ",")
                    et par exemple verbe[0] contiendra Do, Verbe[1] contiendra Did et Verbe[2] contiendra Done

                    Mais maintenant faut savoir le faire et si tu tébutes vraiments ça va pas être facile vu qu'il va falloir que tu es des connaissances sur les tableaux, les pointeurs et les fichiers texte

                    Voilà
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 janvier 2006 à 20:46:41

                      peut tu m'expliquer cette methode
                      Merci
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 janvier 2006 à 20:54:26

                        Citation : warman

                        peut tu m'expliquer cette methode
                        Merci



                        Pas du tout :-° je la garde pour moi :D

                        Non en fait je ne pourrais moi même pas faire ce que j'ai dit(étonnant non). En fait je t'ai dit la méthode que j'aurai appliqué en VB

                        Mais je ne connais pas encore les fichiers en C
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 janvier 2006 à 21:55:12

                          Merci
                          parcontre 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");
                          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");
                          system("PAUSE");

                          char verbes;
                          char preterit[20];
                          char pp[20];
                          char traduction[20];
                          char erreurs[20];

                          srand(time(NULL));
                          verbes = (rand() % (105 - 1)) + 1;

                          switch (verbes)
                          {
                          case 1:
                          printf("Infinitif: arise");
                          printf("Preterit: ");
                          scanf("%s\n",&preterit);
                          printf("Participe Passe: ");
                          scanf("%s\n",&pp);
                          printf("Traduction: ");
                          scanf("%s\n",&traduction);

                          if (preterit="arose")
                          { printf("Bravo !!\n");}
                          else {Erreurs++}

                          break;

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

                          system("PAUSE");
                          return 0;
                          }

                          et j'ai une erreur ci dessous c'est normal mais je ne sais pas comment remplacer merci
                          if (preterit="arose")
                          • Partager sur Facebook
                          • Partager sur Twitter
                            6 janvier 2006 à 22:17:03

                            Lol cette erreur a beau été dite dans le cours de m@teo, dans la FAQ dans de nombreux topics, rien à faire elle persiste, elle est toujours là :

                            Dans une condition, si tu veux comparer il faut utiliser == et non =

                            avec deux = donc.

                            if (operande1 == operande2)


                            De plus, je ne pense pas que tu puisses comparer une chaine comme ça, il faut utiliser la fonction strcmp :


                            if (strcmp(preterit,"arose") != 0)
                            {
                                 printf("Bravo");
                            }
                            else
                            {
                                 printf("Erreur");
                            }


                            Voilà par contre je tiens à te dire que la présentation de ton code est comment dire assez nul, on y comprend rien. Essaie de mieux présenter en essayant de lire un article ou tuto sur l'indentation
                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 janvier 2006 à 23:43:04

                              Citation : tebonb

                              De plus, je ne pense pas que tu puisses comparer une chaine comme ça, il faut utiliser la fonction strcmp

                              On eput aussi inclure string.h et dire:

                              if(preterit == "arose")
                              [...]

                              Edit: Mais à ce moment-là, il me semble qu'on doit déclarer pererit comme string et non comme char. Je vérifie ça tout de suite.

                              Edit²: utilise strcmp(), les strings m'ont l'air vraiment louches :o
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Question Aléatoire

                              × 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