Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit probleme de programmation

10^(une variable)

    10 mars 2006 à 17:25:24

    Bonjour a tous, j'ai un petit probleme sur un programme que je dois faire. Il sagit de calculer la valeur d'une résistance par rapport a la couleur de ses bagues.
    Jusque la pas de probleme, mais la ou ça ce complique, c'est lorsque j'effectue le calcule (( anneau1*10 + anneau2 ) 10^(anneau3)). Bref j'ai a peu pres ça dans mon programme, mais le resultat que j'obtien n'ai pas du tout celui attendu: Exemple, une résitance de 1kohm -----> Bague (marron, noir, rouge ---> 1*10 + 0 +10^2 = 1000 et j'obtien un trud du genre 4 milliards


    Je ne sais pas si vous voyez ce que je veux dire alors je vous mets un bout de mon programme:


         c[0] = "noir";
         c[1] = "marron";
         c[2] = "rouge";
         c[3] = "orange";
         c[4] = "jaune";
         c[5] = "vert";
         c[6] = "bleu";
         c[7] = "violet";
         c[8] = "gris";
         c[9] = "blanc";

         system ("cls");
         printf("Vous avez Choisi le Module CODE DES COULEURS\n");
         printf("Couleur\t\tValeur a saisir\n");
         printf("Noir\t\t0\n");
         printf("Marron\t\t1\n");
         printf("Rouge\t\t2\n");
         printf("Orange\t\t3\n");
         printf("Jaune\t\t4\n");
         printf("Vert\t\t5\n");
         printf("Bleu\t\t6\n");
         printf("Violet\t\t7\n");
         printf("Gris\t\t8\n");
         printf("Blanc\t\t9\n\n");
         printf("Entrez la valeur des l'anneaux 1:");
         scanf("%d"‚ &anneau1);
         while(anneau1 !=0 && anneau1 !=1 && anneau1 !=2 && anneau1 !=3 && anneau1 !=4 && anneau1 !=5 && anneau1 !=6 && anneau1 !=7 && anneau1 !=8 && anneau1 !=9)
         {
               printf("\nLa couleur que vous avez entre n'est pas dans le tableau‚ veuillez recommencer!:");
               scanf("%d"‚ &anneau1);
         }
         printf("\nEntrez la valeur des l'anneaux 2:");
         scanf("%d"‚ &anneau2);
         while (anneau2 !=0 && anneau2 !=1 && anneau2 !=2 && anneau2 !=3 && anneau2 !=4 && anneau2 !=5 && anneau2 !=6 && anneau2 !=7 && anneau2 !=8 && anneau2 !=9)
         {
               printf("\nLa couleur que vous avez entre n'est pas dans le tableau‚ veuillez recommencer!:");
               scanf("%d"‚ &anneau2);
         }
         printf("\nEntrez la valeur des l'anneaux 3:");
         scanf("%d"‚ &anneau3);
         while (anneau3 !=0 && anneau3 !=1 && anneau3 !=2 && anneau3 !=3 && anneau3 !=4 && anneau3 !=5 && anneau3 !=6 && anneau3 !=7 && anneau3 !=8 && anneau3 !=9)
         {
               printf("\nLa couleur que vous avez entre n'est pas dans le tableau‚ veuillez recommencer!:");
               scanf("%d"‚ &anneau3);
         }
         printf("\nLa couleur des anneaux est: \nanneau1= %s \nanneau2= %s \nanneau3= %s\n"‚ c[anneau1]‚c[anneau2]‚c[anneau3]);
         system("pause");
         res = (anneau1*10 + anneau2)*100;
         printf("Votre resitance fait %d Ohms");
         getch();



    Voila, donc si vous voyez une erreur vous pevez me dire ou elle est car je préferai faire moi meme la correction :) merci
    • Partager sur Facebook
    • Partager sur Twitter
      10 mars 2006 à 19:47:34

      Il faut faire :
      printf("Votre resitance fait %ld Ohms"‚res);
      mais je me trompe peut-être (moi c'est plutot le c++)

      Moi pour faire les puissance perso j'utilise un fonction du genre ^^
      int puissance(int p‚ int n)   // forme p^n (p puissance n)
      {
          int puis=1;
          for (int i=0; i<n ;i++)
              puis *= p;
          return puis;
      }

      • Partager sur Facebook
      • Partager sur Twitter
        10 mars 2006 à 21:58:04

        petit rappel du cours
        pow


        Cette fonction permet de calculer la puissance d'un nombre. Vous devez lui indiquer 2 valeurs : le nombre, et la puissance à laquelle vous voulez l'élever. Voici le schéma de la fonction :

        Code : C
        pow(nombre, puissance);


        Par exemple, "2 puissance 3" (que l'on écrit habituellement 2^3 sur un ordinateur), c'est le calcul 2 * 2 * 2, ce qui fait 8 :

        Code : C
        double resultat = 0, nombre = 2;

        resultat = pow(nombre, 3); // resultat vaudra 2^3 = 8


        Vous pouvez donc utiliser cette fonction pour calculer des carrés. Il suffit d'indiquer une puissance de 2.

        et inserer math.h

        (tout ceci est dnas le cours de matéo
        PoS> pas besoin de fair 4 sujet pour une question comme ca ... le serveur rame masi il faut etre patien
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          10 mars 2006 à 21:58:17

          Apparement le calcul de res est bon (même si il ne fait pas de puissance). En fait, on a pas assez de précisions, tu nous a passé en énOOOrme code moche et trop répétitif, mais tu as oublié le principal :

          Il nous faut savoir quel est le type de tes variables :D montres nous les déclarations de anneau1 et tout, comment ils sont utilisé, comme tu les scanf et printf, puis tu nous montres les valeurs que tu entres et le résultat. Là, on a un gros bout de code mais pas ce qu'il faut (d'ailleurs, refais le, ça me fait mal aux yeux :p ).
          • Partager sur Facebook
          • Partager sur Twitter

          Petit probleme de programmation

          × 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