Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme

je ne sais pas ou est le pronleme

Sujet résolu
    12 janvier 2006 à 22:43:51

    bonjour!
    j'ai voulu faire un petit programme pour mon frere pour m'exercé après les cours donné
    ce programme consiste tout simplement a donné un multiplication a mon frere de lui faire tapez la reponse et de regardé si elle est correct et de lui donné un note a la fin
    le probleme c'est que ce programme ne marche pas il ne veut pas se compiler je vous donne se que j'ai mit :

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(int argc, char *argv[])
    {
    long nombre1 = 0,nombre2 = 0,resultat = 0,
    note = 0,tour = 0,proposition =0, faute =0, partie =0;
    const long MAX=10 , MIN=1 ;
    do
    {
    //generation des 2 nombres
    do
    {
    srand(time(NULL)) ;
    nombre1 = (rand() % (MAX - MIN + 1)) + MIN ;
    nombre2 = (rand() % (MAX - MIN + 1)) + MIN ;
    resultat = nombre1 * nombre2 ;
    faute = 10 - note ;
    prinft("%d x %d = ",nombre1,nombre2);
    scanf("%d",&proposition);

    //on compare le resultat avec la proposition

    if (proposition == resultat)
    {
    note++;
    printf("Bravo %d x %d = %d\n",nombre1,nombre2,resultat);
    }

    else
    {
    printf("Nan %d x %d = %d\n",nombre1,nombre2,resultat);
    }
    tour++;
    } while (tour != 10);

    //on affiche la note

    if(note == 10)
    {
    printf("%d/10 .Bravo c'est parfait aucune faute \n" ,note);
    }
    else if(note == 9)
    {
    prinft("%d/10 .Tres bien tu n'as fait qu'une faute.\n",note);
    }
    else if(note >=7)
    {
    prinft("%d/10 .Bien tu n'as fait que %d faute.\n",note,faute);
    }
    else if(note >=5)
    {
    prinft("%d/10 .C'est pas mal tu as fait %d faute , entraine toi encore un peu.\n",note,faute);
    }
    else if(note >=3)
    {
    prinft("%d/10 .C'est pas bien tu as %d faute, va relire tes tables de multiplication.",note,faute);
    }
    else
    {
    prinft("%d/10 .C'est nul tu as fait %d faute , va vite relire tes tables de multuplication",note,faute);
    }
    printf("Veut tu refaire une partie ?");
    prinft("1. Pour oui");
    prinft("0. Pour non");
    scanf("%d",&partie);

    }while(partie!=0);


    system("PAUSE");
    return 0;
    }


    j'ai surment fait une erreur :-° quelque part mais je n'arrive pas a la trouvé
    j'espere que quelqu'un pourra la trouvé
    merci d'avance
    nextazy
    • Partager sur Facebook
    • Partager sur Twitter
      12 janvier 2006 à 22:45:30


      #include <stdio.h>
      #include <stdlib.h>
      #include <time.h>
      int main(int argc, char *argv[])
      {
      long nombre1 = 0,nombre2 = 0,resultat = 0,
      note = 0,tour = 0,proposition =0, faute =0, partie =0;
      const long MAX=10 , MIN=1 ;
      do
      {
      //generation des 2 nombres
      do
      {
      srand(time(NULL)) ;
      nombre1 = (rand() % (MAX - MIN + 1)) + MIN ;
      nombre2 = (rand() % (MAX - MIN + 1)) + MIN ;
      resultat = nombre1 * nombre2 ;
      faute = 10 - note ;
      prinft("%d x %d = ",nombre1,nombre2);
      scanf("%d",&proposition);

      //on compare le resultat avec la proposition

      if (proposition == resultat)
      {
      note++;
      printf("Bravo %d x %d = %d\n",nombre1,nombre2,resultat);
      }

      else
      {
      printf("Nan %d x %d = %d\n",nombre1,nombre2,resultat);
      }
      tour++;
      } while (tour != 10);

      //on affiche la note

      if(note == 10)
      {
      printf("%d/10 .Bravo c'est parfait aucune faute \n" ,note);
      }
      else if(note == 9)
      {
      prinft("%d/10 .Tres bien tu n'as fait qu'une faute.\n",note);
      }
      else if(note >=7)
      {
      prinft("%d/10 .Bien tu n'as fait que %d faute.\n",note,faute);
      }
      else if(note >=5)
      {
      prinft("%d/10 .C'est pas mal tu as fait %d faute , entraine toi encore un peu.\n",note,faute);
      }
      else if(note >=3)
      {
      prinft("%d/10 .C'est pas bien tu as %d faute, va relire tes tables de multiplication.",note,faute);
      }
      else
      {
      prinft("%d/10 .C'est nul tu as fait %d faute , va vite relire tes tables de multuplication",note,faute);
      }
      printf("Veut tu refaire une partie ?");
      prinft("1. Pour oui");
      prinft("0. Pour non");
      scanf("%d",&partie);

      }while(partie!=0);


      system("PAUSE");
      return 0;
      }
      Mets déjà ça en balise de code, c'est plus facile à lire ;)

      Correction: RHAAAA!! Voilà ce qui se passe quand on fait Copy/Paste >< en fait ton prog marche très bien... si ce n'est que tous tes printf() sont devenus prinft()...
      • Partager sur Facebook
      • Partager sur Twitter
        12 janvier 2006 à 22:57:40

        peut-être dans C+++ yaura prinft ;)
        • Partager sur Facebook
        • Partager sur Twitter
          12 janvier 2006 à 23:11:49

          ah j'ai aussi un autre probleme comment fait on pour remetre la variable tour à
          0 ??parsque sa marche pour le 1ere partie
          mais pour la 2eme elle se termine pas puisque la boucle continu jusqua se que
          tour =10
          • Partager sur Facebook
          • Partager sur Twitter
            12 janvier 2006 à 23:22:06

            Juste après ton premier do, tu remets la variable tour à 0 :
            do
            {
               tour = 0;
               do {
            • Partager sur Facebook
            • Partager sur Twitter
              12 janvier 2006 à 23:27:06

              ok
              merci V1994 et bluestorm
              et felicitation pour le site
              nextazy
              • Partager sur Facebook
              • Partager sur Twitter

              probleme

              × 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