Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme programme

    24 décembre 2005 à 13:06:19

    Bonjour à tous !!
    Bon voila j'essaie de créer un programme qui réunit tout ce que j'arrive a faire avec les cours de M@teo mais j'ai un probleme : :lol:
    Quand je lance le probleme une premiere fois pas de blem tout fonctionne ;)
    Mais apres le " retour au Menu ?", quand j'essai de retourner dans le jeu sa me renvoit dirrect sur les calculs simples. Et j'arrive pas a trouver d'ou vient mon probleme :(
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>

    int main(int argc, char *argv[])
    {
    //Couleur de fond
        system("color f1");
       
    // Variables
        const long MIN=1;
        long nombreAlea = 0, nombre = 0, max=0, nombreDeCoups = 0;
        int selectionMenu=0, selectionMenu2=0, selectionMenu3=0,choixDifficulte=0, retour=1;
        int score=0;
        double nombre1=0, nombre2=0, nombre3=0,nombre4=0, nombre5=0, nombre6=0, resultat=0;
        double nombre7=0, nombre8=0, nombre9=0, nombre10=0;
        char signe;
           
           while ( retour ==1)
           
           {
                 
       


    //Menu
    printf("\n--------------------------------------------------------------------------------\n");
    printf("                  --:::::::   WELCOME in Start Program :::::::-- \n\n");
    printf("--------------------------------------------------------------------------------\n\n");


    printf("                                  _@ Menu @_\n\n\n");
    printf("Entrez 1 pour acceder a ma calculatrice\n");
    printf("Entrez 2 pour acceder a mes jeux\n\n");
    printf("votre choix ?\n\n");
    scanf("%ld", &selectionMenu);
    system("CLS");
    //------------------------------------------------------------------------------------------------
                                      //Calculatrice
    if (selectionMenu == 1)
    {
    printf("                     Vous entrez dans le monde des cacluls\n\n");
    printf("                                  _@ Menu Calculatrice @_\n\n\n");
    printf("Tapez 1  pour faire des calculs simples\n");
    printf("Tapez 2  pour faire des calculs a plusieurs termes\n")
    printf("Tapez 3  pour faire des factorisations\n");
    printf("Tapez 4  pour calculer le PGCD de deux nombres\n");
    printf("Tapez 5  pour calculer le PPCM de deux nombres\n");
    printf("Tapez 6  pour calculer perimetres\n");
    printf("Tapez 7  pour calculer aires\n");
    printf("Tapez 8  pour calculer volumes\n");
    printf("Tapez 9  pour faire des equations\n");
    printf("Tapez 10 pour calculer le logarithme\n");
    printf("Tapez 11 pour calculer l'exponentiel\n");
    printf("Tapez 12 pour faire des conversions\n");
    printf("Tapez 13 pour utiliser le theoreme de pythagore\n\n");
    scanf("%ld", &selectionMenu2);
    system("CLS");
    }





           if (selectionMenu2 == 1)  // L'utilisateur a choisit les calculs simples
                {
                     
                           printf("\n                      Calcul Simple \n \n");
        printf("  Calcul possible :\n \n- Addition sous la forme a+b  \n- Soustraction sous la forme a-b \n- Multiplication sous la forme a*b \n- Division sous la forme a/b \n- Puissance sous la forme a^b \n\n");
       
        scanf("%lf%c%lf" , &nombre1,&signe,&nombre2);
       
    //division par 0
       if (signe=='/' && nombre2==0 )
        {
                       printf("\n \n Diviser par 0 sa n'existe pas !!! !");
                       }

    //Addition
        else if (signe=='+')
        {
                       resultat =  nombre1 + nombre2;
                       printf("\n \n Le resultat est %lf \n", resultat);
                      }
                   
    //soustraction   
        if (signe=='-')
        {
                       resultat =  nombre1 - nombre2;
                       printf("\n \nLe resultat est %lf \n", resultat);
                      }
                     
    //multiplication
        else if (signe=='*' || signe=='x')
        {
                       resultat =  nombre1 * nombre2;
                       printf("\n \nLe resultat est %lf \n", resultat);
                      }
                     
    //divisions
        else if (signe=='/' && nombre2!=0 )
        {
                       resultat =  nombre1 / nombre2;
                       printf("\n \nLe resultat est %lf \n", resultat);
                      }
                   
    //puissances
         else if (signe=='^' )
        {
                       resultat =  pow(nombre1, nombre2);
                       printf("\n \nLe resultat est %lf \n", resultat);
                     
                      }
                      }
                     
                     
                     
                     
          if (selectionMenu2 ==3) //L'utilisateur choisit la factorisation
           {
       
                   printf("\n                      Factorisation\n\n");
                     printf("\n1 = Forme a^2 - b^2\n");
                     printf("2 = Forme a^3 - b^3\n");
                     printf("3 = Forme a^3 + b^3\n");
                     printf("4 = Forme ax^2 + bx + c\n\n    ");
                  scanf("%ld",&selectionMenu3);
                        system ("CLS");
       
                        // forme a²-b²
                 if (selectionMenu3==1)
             {
               printf("\n            Factorisation de la forme a^2 - b^2\n\n\n");
               printf("\n Entrez la valeur de a^2 : \n");
               scanf("%lf",&nombre1);
               printf("\n Entrez la valeur de b^2 : \n");
               scanf("%lf",&nombre2);
               nombre3 = sqrt(nombre1);
               nombre4 = sqrt(nombre2);
               printf("\n Le resultat est (%lf + %lf) x (%lf - %lf)",nombre3, nombre4, nombre3, nombre4);
             }                                       
                        //forme a^3-b^3                       
                else if (selectionMenu3==2)
             {
              printf("\n            Factorisation de la forme a^3 - b^3\n\n\n");
              printf("\nEntrez la valeur de a^3 : \n");
              scanf("%lf",&nombre1);
              printf("\nEntrez la valeur de b^3 : \n");
              scanf("%lf",&nombre2);
              nombre3 = pow(nombre1,0.333333333333333333);
              nombre4 = pow(nombre2,0.333333333333333333);
              nombre5 = nombre1 / nombre3;
              nombre6 = nombre2 / nombre4;
              printf("\n\n Le resultat est : \n(%lf - %lf ) x ( %lf + %lf x %lf + %lf)",nombre3, nombre4, nombre5, nombre3, nombre4, nombre6);
             }
                     //forme a^3+b^3
                else if (selectionMenu3==3)
                 {
              printf("\n            Factorisation de la forme a^3 + b^3\n\n\n");
              printf("\nEntrez la valeur de a^3 : \n");
              scanf("%lf",&nombre1);
              printf("\nEntrez la valeur de b^3 : \n");
              scanf("%lf",&nombre2);
              nombre3 = pow(nombre1,0.333333333333333333);
              nombre4 = pow(nombre2,0.333333333333333333);
              nombre5 = nombre1 / nombre3;
              nombre6 = nombre2 / nombre4;
              printf("\n\n Le resultat est : \n(%lf + %lf ) x ( %lf - %lf x %lf + %lf)",nombre3, nombre4, nombre5, nombre3, nombre4, nombre6);
              }
                               //forme ax²+ bx + c
                 else if (selectionMenu3==4)
              {
              printf("\n            Factorisation de la forme ax^2 + bx + c \n\n\n");
              printf("\nEntrez la valeur de a : \n");
              scanf("%lf",&nombre1);
              printf("\nEntrez la valeur de b : \n");
              scanf("%lf",&nombre2);
              printf("\nEntrez la valeur de c : \n");
              scanf("%lf",&nombre3);
                                                     
              nombre4 = pow(nombre1,2);
              nombre5 = pow(nombre2,2);
              nombre6 = 2 * nombre1;
              nombre7 = nombre5 - ( 4 * nombre3 * nombre1 );
              nombre8 = 4 * nombre4;
              nombre9 = nombre2 / nombre6;
              nombre10 = nombre7 / nombre8;
              printf("\n\nLe resultat est : \n %lf ( x +  %lf )^2 - ( %lf )",nombre1, nombre9, nombre10);
              }                   
              }           
               
       

    //-------------------------------------------------------------------------------------------------
                                           //Jeux
                                           
           
    else if (selectionMenu == 2)


    //Liste des jeux
    {
        printf("\n                           -|| Bienvenu dans les jeux ||-\n\n\n");
        printf("Tapez 1 pour jouer au jeu du plus ou du moins\n\n");
        printf("   Votre choix ?\n\n");
        scanf("%ld", &selectionMenu2)  ;
        system("CLS");
    }
       
                                    //Jeux du plus ou du moins
                                   
                                   
        //Choix du niveau de difficulté
       
        printf("\n                      Il faut determiner le nombre mystere\n\n")
        printf("Choix du niveau\n\n");
        printf("1 = Facile (entre 1 et 10)\n");
        printf("2 = Moyen (entre 1 et 100)\n");
        printf("3 = Difficile (entre 1 et 1000)\n")
        printf("4 = Tres difficile (entre 1 et 10000)\n\n");
        printf("votre choix ?   ");
        scanf("%ld", &choixDifficulte);
        system ("CLS");
          /* Choix de la difficulté */
                                   
                    if (choixDifficulte == 1)
                         max = 10;
                    if (choixDifficulte == 2)
                         max = 10;
                    if (choixDifficulte == 3)
                         max = 1000;
                    if (choixDifficulte == 4)
                        max = 10000;
                                           
    srand(time(NULL));
    nombreAlea = (rand() % (max - MIN + 1)) + MIN; /* Création du nombre aléatoire */

       
       //Conditions de réalisation

        while (nombre != nombreAlea)
                                    {
                                    printf("Quel est le nombre mystere ? ");
                                    scanf("%ld", &nombre);
                                   
                                    if (nombre < nombreAlea)
                                    {
                                            printf("\n\tC'est plus !\n\n");
                                            nombreDeCoups++;
                                    }
                                                                                   
                                    if (nombre > nombreAlea)
                                    {
                                            printf("\n\tC'est moins !\n\n");
                                            nombreDeCoups++;
                                    }
                                                                                   
                                    if (nombre == nombreAlea)
                                    {
                                            score = max / nombreDeCoups;
                                            printf("\nBravo, vous avez trouve le nombre mystere en %ld essais !\n\n", nombreDeCoups + 1);
                                            printf("Ton score est de %ld !\n", score);
                                            nombreDeCoups++;
                                    }
                                   
                                    }



    //-------------------------------------------------------------------------------------------------
       
        // Permet de revenir au menu

        printf("\n\n\nRetour au Menu ??? \n\n1 = Oui\n2 = Non\n\n  ")
        scanf("%d",&retour);
        system("CLS");                                 
        if (retour==1)
        {
                      retour;
                      }
                     
                                               
    }
      return 0;
    }



    Voila merci a tous
    • Partager sur Facebook
    • Partager sur Twitter
      24 décembre 2005 à 13:37:18

      Enlève l'accolade à la fin de ceci :
      else if (selectionMenu == 2)


      //Liste des jeux
      {
          printf("\n                           -|| Bienvenu dans les jeux ||-\n\n\n");
          printf("Tapez 1 pour jouer au jeu du plus ou du moins\n\n");
          printf("   Votre choix ?\n\n");
          scanf("%ld", &selectionMenu2)  ;
          system("CLS");
      }//Accolade inutile !!!
      • Partager sur Facebook
      • Partager sur Twitter
        24 décembre 2005 à 13:49:24

        Au debut je ne l'avais pas mise mais le probleme restait le meme donc j'ai essayé de la mettre pour voir.
        Donc le probleme vient pas de la. :euh:
        Je pense aussi que c'est un probleme d'accolade mais j'ai eu beau verifier j'ai rien trouvé :(
        • Partager sur Facebook
        • Partager sur Twitter
          24 décembre 2005 à 14:01:21

          J'ai testé ça marche :
          #include <stdio.h>
          #include <stdlib.h>
          #include <math.h>
          #include <time.h>

          int main(int argc, char *argv[])
          {
          //Couleur de fond
              system("color f1");
             
          // Variables
              const long MIN=1;
              long nombreAlea = 0, nombre = 0, max=0, nombreDeCoups = 0;
              int selectionMenu=0, selectionMenu2=0, selectionMenu3=0,choixDifficulte=0, retour=1;
              int score=0;
              double nombre1=0, nombre2=0, nombre3=0,nombre4=0, nombre5=0, nombre6=0, resultat=0;
              double nombre7=0, nombre8=0, nombre9=0, nombre10=0;
              char signe;
                 
                 while ( retour ==1)
                 
                 {
                       
             


          //Menu
          printf("\n--------------------------------------------------------------------------------\n");
          printf("                  --:::::::   WELCOME in Start Program :::::::-- \n\n");
          printf("--------------------------------------------------------------------------------\n\n");


          printf("                                  _@ Menu @_\n\n\n");
          printf("Entrez 1 pour acceder a ma calculatrice\n");
          printf("Entrez 2 pour acceder a mes jeux\n\n");
          printf("votre choix ?\n\n");
          scanf("%ld", &selectionMenu);
          system("CLS");
          //------------------------------------------------------------------------------------------------
                                            //Calculatrice
          if (selectionMenu == 1)
          {
          printf("                     Vous entrez dans le monde des cacluls\n\n");
          printf("                                  _@ Menu Calculatrice @_\n\n\n");
          printf("Tapez 1  pour faire des calculs simples\n");
          printf("Tapez 2  pour faire des calculs a plusieurs termes\n");
          printf("Tapez 3  pour faire des factorisations\n");
          printf("Tapez 4  pour calculer le PGCD de deux nombres\n");
          printf("Tapez 5  pour calculer le PPCM de deux nombres\n");
          printf("Tapez 6  pour calculer perimetres\n");
          printf("Tapez 7  pour calculer aires\n");
          printf("Tapez 8  pour calculer volumes\n");
          printf("Tapez 9  pour faire des equations\n");
          printf("Tapez 10 pour calculer le logarithme\n");
          printf("Tapez 11 pour calculer l'exponentiel\n");
          printf("Tapez 12 pour faire des conversions\n");
          printf("Tapez 13 pour utiliser le theoreme de pythagore\n\n");
          scanf("%ld", &selectionMenu2);
          system("CLS");
          }





                 if (selectionMenu2 == 1)  // L'utilisateur a choisit les calculs simples
                      {
                           
                                 printf("\n                      Calcul Simple \n \n");
              printf("  Calcul possible :\n \n- Addition sous la forme a+b  \n- Soustraction sous la forme a-b \n- Multiplication sous la forme a*b \n- Division sous la forme a/b \n- Puissance sous la forme a^b \n\n");
             
              scanf("%lf%c%lf" , &nombre1,&signe,&nombre2);
             
          //division par 0
             if (signe=='/' && nombre2==0 )
              {
                             printf("\n \n Diviser par 0 sa n'existe pas !!! !");
                             }

          //Addition
              else if (signe=='+')
              {
                             resultat =  nombre1 + nombre2;
                             printf("\n \n Le resultat est %lf \n", resultat);
                            }
                         
          //soustraction   
              if (signe=='-')
              {
                             resultat =  nombre1 - nombre2;
                             printf("\n \nLe resultat est %lf \n", resultat);
                            }
                           
          //multiplication
              else if (signe=='*' || signe=='x')
              {
                             resultat =  nombre1 * nombre2;
                             printf("\n \nLe resultat est %lf \n", resultat);
                            }
                           
          //divisions
              else if (signe=='/' && nombre2!=0 )
              {
                             resultat =  nombre1 / nombre2;
                             printf("\n \nLe resultat est %lf \n", resultat);
                            }
                         
          //puissances
               else if (signe=='^' )
              {
                             resultat =  pow(nombre1, nombre2);
                             printf("\n \nLe resultat est %lf \n", resultat);
                           
                            }
                            }
                           
                           
                           
                           
                if (selectionMenu2 ==3) //L'utilisateur choisit la factorisation
                 {
             
                         printf("\n                      Factorisation\n\n");
                           printf("\n1 = Forme a^2 - b^2\n");
                           printf("2 = Forme a^3 - b^3\n");
                           printf("3 = Forme a^3 + b^3\n");
                           printf("4 = Forme ax^2 + bx + c\n\n    ");
                        scanf("%ld",&selectionMenu3);
                              system ("CLS");
             
                              // forme a²-b²
                       if (selectionMenu3==1)
                   {
                     printf("\n            Factorisation de la forme a^2 - b^2\n\n\n");
                     printf("\n Entrez la valeur de a^2 : \n");
                     scanf("%lf",&nombre1);
                     printf("\n Entrez la valeur de b^2 : \n");
                     scanf("%lf",&nombre2);
                     nombre3 = sqrt(nombre1);
                     nombre4 = sqrt(nombre2);
                     printf("\n Le resultat est (%lf + %lf) x (%lf - %lf)",nombre3, nombre4, nombre3, nombre4);
                   }                                       
                              //forme a^3-b^3                       
                      else if (selectionMenu3==2)
                   {
                    printf("\n            Factorisation de la forme a^3 - b^3\n\n\n");
                    printf("\nEntrez la valeur de a^3 : \n");
                    scanf("%lf",&nombre1);
                    printf("\nEntrez la valeur de b^3 : \n");
                    scanf("%lf",&nombre2);
                    nombre3 = pow(nombre1,0.333333333333333333);
                    nombre4 = pow(nombre2,0.333333333333333333);
                    nombre5 = nombre1 / nombre3;
                    nombre6 = nombre2 / nombre4;
                    printf("\n\n Le resultat est : \n(%lf - %lf ) x ( %lf + %lf x %lf + %lf)",nombre3, nombre4, nombre5, nombre3, nombre4, nombre6);
                   }
                           //forme a^3+b^3
                      else if (selectionMenu3==3)
                       {
                    printf("\n            Factorisation de la forme a^3 + b^3\n\n\n");
                    printf("\nEntrez la valeur de a^3 : \n");
                    scanf("%lf",&nombre1);
                    printf("\nEntrez la valeur de b^3 : \n");
                    scanf("%lf",&nombre2);
                    nombre3 = pow(nombre1,0.333333333333333333);
                    nombre4 = pow(nombre2,0.333333333333333333);
                    nombre5 = nombre1 / nombre3;
                    nombre6 = nombre2 / nombre4;
                    printf("\n\n Le resultat est : \n(%lf + %lf ) x ( %lf - %lf x %lf + %lf)",nombre3, nombre4, nombre5, nombre3, nombre4, nombre6);
                    }
                                     //forme ax²+ bx + c
                       else if (selectionMenu3==4)
                    {
                    printf("\n            Factorisation de la forme ax^2 + bx + c \n\n\n");
                    printf("\nEntrez la valeur de a : \n");
                    scanf("%lf",&nombre1);
                    printf("\nEntrez la valeur de b : \n");
                    scanf("%lf",&nombre2);
                    printf("\nEntrez la valeur de c : \n");
                    scanf("%lf",&nombre3);
                                                           
                    nombre4 = pow(nombre1,2);
                    nombre5 = pow(nombre2,2);
                    nombre6 = 2 * nombre1;
                    nombre7 = nombre5 - ( 4 * nombre3 * nombre1 );
                    nombre8 = 4 * nombre4;
                    nombre9 = nombre2 / nombre6;
                    nombre10 = nombre7 / nombre8;
                    printf("\n\nLe resultat est : \n %lf ( x +  %lf )^2 - ( %lf )",nombre1, nombre9, nombre10);
                    }                   
                    }           
                     
             

          //-------------------------------------------------------------------------------------------------
                                                 //Jeux
                                                 
                 
          else if (selectionMenu == 2)


          //Liste des jeux
          {
              printf("\n                           -|| Bienvenu dans les jeux ||-\n\n\n");
              printf("Tapez 1 pour jouer au jeu du plus ou du moins\n\n");
              printf("   Votre choix ?\n\n");
              scanf("%ld", &selectionMenu2)  ;
              system("CLS");
          }
             
                                          //Jeux du plus ou du moins
                                         
                                         
              //Choix du niveau de difficulté
             
              printf("\n                      Il faut determiner le nombre mystere\n\n");
              printf("Choix du niveau\n\n");
              printf("1 = Facile (entre 1 et 10)\n");
              printf("2 = Moyen (entre 1 et 100)\n");
              printf("3 = Difficile (entre 1 et 1000)\n");
              printf("4 = Tres difficile (entre 1 et 10000)\n\n");
              printf("votre choix ?   ");
              scanf("%ld", &choixDifficulte);
              system ("CLS");
                /* Choix de la difficulté */
                                         
                          if (choixDifficulte == 1)
                               max = 10;
                          if (choixDifficulte == 2)
                               max = 10;
                          if (choixDifficulte == 3)
                               max = 1000;
                          if (choixDifficulte == 4)
                              max = 10000;
                                                 
          srand(time(NULL));
          nombreAlea = (rand() % (max - MIN + 1)) + MIN; /* Création du nombre aléatoire */

             
             //Conditions de réalisation

              while (nombre != nombreAlea)
                                          {
                                          printf("Quel est le nombre mystere ? ");
                                          scanf("%ld", &nombre);
                                         
                                          if (nombre < nombreAlea)
                                          {
                                                  printf("\n\tC'est plus !\n\n");
                                                  nombreDeCoups++;
                                          }
                                                                                         
                                          if (nombre > nombreAlea)
                                          {
                                                  printf("\n\tC'est moins !\n\n");
                                                  nombreDeCoups++;
                                          }
                                                                                         
                                          if (nombre == nombreAlea)
                                          {
                                                  score = max / nombreDeCoups;
                                                  printf("\nBravo, vous avez trouve le nombre mystere en %ld essais !\n\n", nombreDeCoups + 1);
                                                  printf("Ton score est de %ld !\n", score);
                                                  nombreDeCoups++;
                                          }
                                         
                                          }



          //-------------------------------------------------------------------------------------------------
             
              // Permet de revenir au menu

              printf("\n\n\nRetour au Menu ??? \n\n1 = Oui\n2 = Non\n\n  ");
              scanf("%d",&retour);
              system("CLS");                                 
              if (retour==1)
              {
                            retour;
                            }
                           
                                                     
          }
            return 0;
          }
          • Partager sur Facebook
          • Partager sur Twitter
            24 décembre 2005 à 14:11:35

            il faut que tu mette ton while retour du debut avant tes variables sauf celle de retour.je m explique:
            #include <math.h>
            #include <time.h>

            int main(int argc, char *argv[])
            {
            //Couleur de fond
                system("color f1");
                int retour=1;
                while ( retour ==1)
                   
                   {
            // Variables
                const long MIN=1;
                long nombreAlea = 0, nombre = 0, max=0, nombreDeCoups = 0;
                int selectionMenu=0, selectionMenu2=0, selectionMenu3=0,choixDifficulte=0;
                int score=0;
                double nombre1=0, nombre2=0, nombre3=0,nombre4=0, nombre5=0, nombre6=0, resultat=0;
                double nombre7=0, nombre8=0, nombre9=0, nombre10=0;
                char signe;

            Le reste n'y touche pas.Chez moi ca marche nickel
            • Partager sur Facebook
            • Partager sur Twitter
              24 décembre 2005 à 14:25:39

              Citation : Zouzou31

              il faut que tu mette ton while retour du debut avant tes variables sauf celle de retour.je m explique:



              C'est bon j'ai testé et sa marche nickel.
              Merci a tous de votre aide !! ^^

              • Partager sur Facebook
              • Partager sur Twitter
                24 décembre 2005 à 18:02:07

                N'oublie pas de mettre TOPIC comme étant résolu STP...Merci ;)
                • Partager sur Facebook
                • Partager sur Twitter

                Probleme programme

                × 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