Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de boucle infinie

aidez moi svp

    19 décembre 2005 à 23:02:00

    j'ai un probleme avec le convertisseur je ne les pas encore fini mais je ne compte pas le continuer tant que je n'aurais pas corriger cette erreur et pour ca j'ai besoin de vous cher ZERO.



    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #include <windows.h>
    #include <math.h>
    #include <superconio.h>
    int main(int argc, char *argv[])
    {

      int retour = 0, menuPrincipale = 1;
      double resultatDivision = 0, trou = 0, resultatAdition = 0,nombre1 = 0, nombre2 = 0, resultatMultiplication = 0, resultatSoustraction = 0, resultatConvertisseur = 0, nombre3 = 6.55957;
      long operation = 0, choixConvertisseur = 2;
     


        system ("CLS");

        while (menuPrincipale)
       
        {

        printf ("    BIENVENUE DANS LA\n\n ========CALCULOMAGE========\n\n une calculette creer par mageblanc\n\n");
        printf(" salut tout le monde bienvenu sur ma calculette\n");
        printf (" Appuyer sur:\n\n 1.Adition\n 2.Multiplication\n 3.Soustraction\n 4.Division\n 5.Menu Convertion\n");
        scanf ("%ld", &operation)
     

           
        while (operation == 1)
        {
        printf ("========BINVENUE DANS ADDITION========\n\n");
        printf ("alors vous voulez taper une adition\n");
        printf ("taper le nombre 1:\n");
        scanf ("%lf", &nombre1);
        printf ("Taper le nombre 2:\n");
        scanf ("%lf", &nombre2);
       
        resultatAdition = nombre1 + nombre2;
       
        printf ("%lf + %lf = %lf\n\n", nombre1, nombre2, resultatAdition);
        printf ("taper 1 pour refaire une addition taper 2 pour plus d'option\n");
        scanf ("%ld", &retour);
       
        switch (retour)
        {
              case 1:
              operation = 1;
              break;
              case 2:
              operation = 0;
              break;
              }
        }


        while (operation == 2)
         {
          printf ("========BIENVENUE DANS MULTIPLICATION========\n\n");
          printf ("vous voulez taper une multiplication très bien alors aler si taper");
          printf ("Taper nombre 1:\n");
         scanf ("%lf", &nombre1);
         printf ("taper nombre 2:\n");
         scanf ("%lf", &nombre2);
                     
         resultatMultiplication = nombre1 * nombre2;
                     
         printf ("%lf * %lf = %lf\n\n", nombre1, nombre2, resultatMultiplication);
         
         printf ("taper 1 pour refaire une adition taper 2 pour plus d'option");
        scanf ("%ld", &retour);
          switch (retour)
        {
              case 1:
              operation = 2;
              break;
              case 2:
              operation = 0;
              break;
              }
        }
         

     
         
        while (operation == 3)
         {
         printf ("========BIENVENUE DANS SOUSTRACTION========\n\n");
         printf ("vous voulez faire une soustraction ? \n alors allez si\n");
         printf (" Taper nombre 1:\n");
         scanf ("%lf", &nombre1);
         printf ("Taper nombre2 :\n");
         scanf ("%lf", &nombre2);
         
         resultatSoustraction = nombre1 - nombre2;
         
         printf ("%lf - %lf = %lf\n\n", nombre1, nombre2, resultatSoustraction);
         
            printf ("taper 1 pour refaire une adition taper 2 pour plus d'option\n");
        scanf ("%ld", &retour);
          switch (retour)
        {
              case 1:
              operation = 3;
              break;
              case 2:
              operation = 0;
              break;
              }
         }
       
         
         
         while (operation == 4)
         {
         printf ("========BIENVENUE DANS DIVISION========\n\n");     
         printf ("vous voulez faire une division\n");
         printf ("Taper votre nombre 1 ici :\n");
         scanf ("%lf", &nombre1);
         printf ("Taper le nombre 2 ici:\n");
         scanf ("%lf", &nombre2);
               
         resultatDivision = nombre1 / nombre2;
         
         printf ("%lf / %lf = %lf\n\n", nombre1, nombre2, resultatDivision);
         
        printf ("taper 1 pour refaire une operation taper 2 pour plus d'option\n");
        scanf ("%ld", &retour);
          switch (retour)
        {
              case 1:
              operation = 4;
              break;
              case 2:
              operation = 0;
              break;
              }
    }

        while (operation == 5)/* si je tape 5 alors j'atterie ici*/
        {
        printf (" =======BIENVENUE DANS LE CONVERTISSEUR========\n\n");
        printf (" 1. convertisseur Euro/Franc\n 2. convertisseur Franc/Euro\n");
        scanf ("%ld", &choixConvertisseur); /*si je tape 1 alors j'atterie en dessous*/
        }

        while (choixConvertisseur == 1)
         {
         printf (" =======BIENVENUE DANS LE CONVERTISSUER EURO/FRANC=======\n\n");
         printf (" Taper le nombre a convertir en Franc");
         scanf ("%lf", nombre1);
         
         resultatConvertisseur = nombre1 * nombre3;
         
         printf ("%lf en Euro est egal a %lf en Franc", nombre1, resultatConvertisseur)
         printf ("taper 1 pour refaire une convertion taper 2 pour plus d'option\n");
        scanf ("%ld", &retour);
        switch (retour)
        {
        case 1:
        choixConvertisseur = 1;
        break;
        case 2:
        choixConvertisseur = 0;
        break;
         }

    }
    printf (" pour revenir au menu principale taper 1 sinon taper 0");
    scanf ("%ld", &menuPrincipale);
    }
    system ("PAUSE");
      return 0;
    }


    merci a celui qui m'aidera.
    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2005 à 23:05:54

      quand j'ai copié ton code il me dit qu il y a une erreur la la ligne de la librairie superconio.h c'est ca ton probleme? :)

      EDIT: ah si tu parle de la boucle quand on choisit le cenevrtisseur euro/franc
      ou franc/euro je suis en train d'essayer de la corriger ;)
      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2005 à 23:17:30

        derien

        #include <stdlib.h>
        #include <string.h>
        #include <stdio.h>
        #include <windows.h>
        #include <math.h>


        int main(int argc, char *argv[])
        {

          int retour = 0, menuPrincipale = 1;
          double resultatDivision = 0, trou = 0, resultatAdition = 0,nombre1 = 0, nombre2 = 0, resultatMultiplication = 0, resultatSoustraction = 0, resultatConvertisseur = 0, nombre3 = 6.55957;
          long operation = 0, choixConvertisseur = 2;
         


            system ("CLS");

            while (menuPrincipale)
           
            {

            printf ("    BIENVENUE DANS LA\n\n ========CALCULOMAGE========\n\n une calculette creer par mageblanc\n\n");
            printf(" salut tout le monde bienvenu sur ma calculette\n");
            printf (" Appuyer sur:\n\n 1.Adition\n 2.Multiplication\n 3.Soustraction\n 4.Division\n 5.Menu Convertion\n");
            scanf ("%ld", &operation);
         

               
            while (operation == 1)
            {
            printf ("========BINVENUE DANS ADDITION========\n\n");
            printf ("alors vous voulez taper une adition\n");
            printf ("taper le nombre 1:\n");
            scanf ("%lf", &nombre1);
            printf ("Taper le nombre 2:\n");
            scanf ("%lf", &nombre2);
           
            resultatAdition = nombre1 + nombre2;
           
            printf ("%lf + %lf = %lf\n\n", nombre1, nombre2, resultatAdition);
            printf ("taper 1 pour refaire une addition taper 2 pour plus d'option\n");
            scanf ("%ld", &retour);
           
            switch (retour)
            {
                  case 1:
                  operation = 1;
                  break;
                  case 2:
                  operation = 0;
                  break;
                  }
            }


            while (operation == 2)
             {
              printf ("========BIENVENUE DANS MULTIPLICATION========\n\n");
              printf ("vous voulez taper une multiplication très bien alors aler si taper");
              printf ("Taper nombre 1:\n");
             scanf ("%lf", &nombre1);
             printf ("taper nombre 2:\n");
             scanf ("%lf", &nombre2);
                         
             resultatMultiplication = nombre1 * nombre2;
                         
             printf ("%lf * %lf = %lf\n\n", nombre1, nombre2, resultatMultiplication);
             
             printf ("taper 1 pour refaire une adition taper 2 pour plus d'option");
            scanf ("%ld", &retour);
              switch (retour)
            {
                  case 1:
                  operation = 2;
                  break;
                  case 2:
                  operation = 0;
                  break;
                  }
            }
             

         
             
            while (operation == 3)
             {
             printf ("========BIENVENUE DANS SOUSTRACTION========\n\n");
             printf ("vous voulez faire une soustraction ? \n alors allez si\n");
             printf (" Taper nombre 1:\n");
             scanf ("%lf", &nombre1);
             printf ("Taper nombre2 :\n");
             scanf ("%lf", &nombre2);
             
             resultatSoustraction = nombre1 - nombre2;
             
             printf ("%lf - %lf = %lf\n\n", nombre1, nombre2, resultatSoustraction);
             
                printf ("taper 1 pour refaire une adition taper 2 pour plus d'option\n");
            scanf ("%ld", &retour);
              switch (retour)
            {
                  case 1:
                  operation = 3;
                  break;
                  case 2:
                  operation = 0;
                  break;
                  }
             }
           
             
             
             while (operation == 4)
             {
             printf ("========BIENVENUE DANS DIVISION========\n\n");     
             printf ("vous voulez faire une division\n");
             printf ("Taper votre nombre 1 ici :\n");
             scanf ("%lf", &nombre1);
             printf ("Taper le nombre 2 ici:\n");
             scanf ("%lf", &nombre2);
                   
             resultatDivision = nombre1 / nombre2;
             
             printf ("%lf / %lf = %lf\n\n", nombre1, nombre2, resultatDivision);
             
            printf ("taper 1 pour refaire une operation taper 2 pour plus d'option\n");
            scanf ("%ld", &retour);
              switch (retour)
            {
                  case 1:
                  operation = 4;
                  break;
                  case 2:
                  operation = 0;
                  break;
                  }
        }

            while (operation == 5)/* si je tape 5 alors j'atterie ici*/
            {
            printf (" =======BIENVENUE DANS LE CONVERTISSEUR========\n\n");
            printf (" 1. convertisseur Euro/Franc\n 2. convertisseur Franc/Euro\n");
            scanf ("%ld", &choixConvertisseur); /*si je tape 1 alors j'atterie en dessous*/
            operation++;//j'ai ajuté 1 a opération pour que la boucle s'arrete puisque operation vaut maintenant 6
            }

            while (choixConvertisseur == 1)
             {
             printf (" =======BIENVENUE DANS LE CONVERTISSUER EURO/FRANC=======\n\n");
             printf (" Taper le nombre a convertir en Franc \t");
             scanf ("%lf", &nombre1);
             
             resultatConvertisseur = nombre1 * nombre3;
             
             printf ("%lf en Euro est egal a %lf en Franc \n", nombre1, resultatConvertisseur);
             printf ("taper 1 pour refaire une convertion taper 2 pour plus d'option\n");
            scanf ("%ld", &retour);
            switch (retour)
            {
            case 1:
            choixConvertisseur = 1;
            break;
            case 2:
            choixConvertisseur = 0;
            break;
             }

        }
        printf (" pour revenir au menu principale taper 1 sinon taper 0");
        scanf ("%ld", &menuPrincipale);
        }
        system ("PAUSE");
          return 0;
        }


        par contre j'ai du supprimmer la librairie superconio.h :(
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2005 à 11:25:32

          la librairie superconio est bonne c'est que je les ttelecharger avec un lien de mateo c'est pour sa qu'elle est fausse sur le tient et mois je coyait qu'il fallait faire choixConvertisseur++ merci de ton aide.
          • Partager sur Facebook
          • Partager sur Twitter

          probleme de boucle infinie

          × 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