Petit logiciel de calcul en console

Résolu
Bonsoir.

J'ai fait un petit logiciel de calcul en console et j'aimerais savoir pourquoi quand je fait sa :

long a = 57;
long b = 16;
double c = 0;

c = a / b;

printf ("resultat : %lf", c);

pourquoi il me donne 3.0000 et pas 3.5625 ?
Configuration: PC PORTABLE Acer Emachine G725 :
OS 1 ---> Ubuntu Jaunty (9.04) 
OS 2 ---> Windows Vista Familiale Basic
Web ---> Opera 10.01
CPU ---> Intel Pentium T4200 Dual-core - 2.0GHz
RAM ---> 2 x 2048 MB DDR2-SDRAM
CG ---> Intel GMA 4500-M (1600x900)

PC DE BUREAU :
OS 1 ---> Ubuntu Jaunty (9.04) 
OS 2 ---> Windows Seven Professionnel
Web ---> Opera 10.01
CPU ---> Pentium 4 HyperTreading - 3.0Ghz
RAM ---> 1.00Go - PC3200 - DDR400
CM ---> Asus P4S800-MX SE
CG ---> HIS Radeon X1600 Pro IceQ - 512 Mo GDDR2 (1600x1200)
Alim ---> ASUSTeK A-45GA 450W

14 réponses

  1. tiens là ça marche mieux ;)

     #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        float a = 57;
        float b = 16;
        float c = 0;
        c = a/b;
        printf("resultat : %f\n", c);
        return 0;
    }
    


    De rien.
    1
    1. parceque le "/" ne tiens compte que des entiers, pour avoir le reste il faut faire "%" (prononce modulo)

      exemple :

      7 / 2 = 3
      7 % 2 = 1

      il y a 3 fois 2 et il reste 1
      1
      1. Merci Jason. ;-)

        Par contre tu avais oublié :
        system("PAUSE");


        Mais il y a pas moyen d'utiliser des variables à chiffres entier (long, etc...) pour un calcul comme celui-ci ?

        Et pour JahJah, je connais la fonction modulo (merci le site du zero) mais justement je voulais afficher mon résultat sur une seul ligne.
        0
        1. Contributeur
          #include <stdio.h>
          #include <stdlib.h>
          
          int main()
          {
          
          	long a = 57;
          	long b = 16;
          	double c = 0;
          
          	c = (float)a / b;
          
          	printf ("resultat : %lf", c);
          	system("pause"); //voilà, on l'a pas oublié !
          
          }


          EDIT: bon après moi je débute et c'est google qui m'a rencardé. Donc y'a ptet moyen de faire plus propre / intelligent.
          1
          1. En mettant "(float)" sa change quoi au niveau type de variable etc... ?
            1
            1. C'est autorisé de faire sa ?

              double a = 20;
              double b = 0;

              a = b;

              printf ("%lf", b);
              1
              1. Contributeur
                Ben c'est pas interdit, ça dépend de ce que tu cherches à faire.
                Là

                a = b; 


                assigne la valeur de b à la variable a. Autrement dit a vaut 0 désormais.
                0
                1. Oui c'est juste, c'était ce que je voulais faire. ;-)

                  Sauf que dans mon programme c'est pas zero mais une autre valeur.

                  Je viens de finir ma version 1.0 (beta) de mon programme, merci à vous tous.
                  1
                  1. peut tu nous donner ton code source stp.
                    j'aimerais bien savoir ce que tu as pu faire ;)
                    merci
                    0
                    1. Hé ho doucement.

                      Je suis pas 24h/24 sur CCM...

                      Voilà le code source :

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

                      int main()
                      {

                      //déclaration et initiation des variables
                      long menu0 = 0; //choix du type de calcul à faire
                      long menu1 = 0; //choix de la moto
                      long menu2 = 0; //choix du rapport (boite à vitesse vitesse) à calculer
                      long menu3 = 0; //choix valeur kit chaine donnée ou en manuel
                      long menu4 = 0; //choix pneu ou circonférence

                      double regime = 0; //introduction du régime (nombre entier)
                      double vitesse = 0; //introduction de la vitesse (nombre entier)

                      double rapport_0 = 0; //rapport de transmission primaire
                      double rapport_1 = 0; //rapport de transmission 1Úre
                      double rapport_2 = 0; //rapport de transmission 2Úme
                      double rapport_3 = 0; //rapport de transmission 3Úme
                      double rapport_4 = 0; //rapport de transmission 4Úme
                      double rapport_5 = 0; //rapport de transmission 5Úme
                      double rapport_6 = 0; //rapport de transmission 6Úme
                      double rapport_choix = 0; //rapport de transmission = à la vitesse choisie
                      double rapport_kc = 0; //rapport de transmission du kit chaine
                      double rapport_total = 0; //rapport total de transmission
                      double roue0_menante = 0; //roue menante transmission primaire
                      double roue0_menee = 0; //roue menée transmission primaire
                      double roue1_menante = 0; //roue menante 1Úre
                      double roue1_menee = 0; //roue menée 1Úre
                      double roue2_menante = 0; //roue menante 2Úme
                      double roue2_menee = 0; //roue menée 2Úme
                      double roue3_menante = 0; //roue menante 3Úme
                      double roue3_menee = 0; //roue menée 3Úme
                      double roue4_menante = 0; //roue menante 4Úme
                      double roue4_menee = 0; //roue menée 4Úme
                      double roue5_menante = 0; //roue menante 5Úme
                      double roue5_menee = 0; //roue menée 5Úme
                      double roue6_menante = 0; //roue menante 6Úme
                      double roue6_menee = 0; //roue menée 6Úme
                      double rouekc_menante = 0; //roue menante transmission secondaire (pignon psb kit chaine)
                      double rouekc_menee = 0; //roue menée transmission secondaire (couronne kit chaine)

                      double jante = 0; //taille en pouce de la jante
                      double largeur_pneu = 0; //largeur en mm du pneu
                      double rapport_pneu = 0; //rapport largeur - hauteur du pneu
                      double hauteur_pneu = 0; //hauteur (au rayon) du pneu
                      double diametre = 0; //diamÚtre de la roue AR en mm
                      double circonference = 0; //circonférence de la roue AR en metres

                      //affichage du menu 0
                      printf (" ===> Calcul de vitesse theorique --- V1.0 <=== \n");
                      printf (" ===> Fait par Rony pour yam2stroke.free.fr <=== \n\n\n\n\n"); //titre du logiciel (version, auteur, etc...)

                      printf (" 1. Calculer le regime en fonction d'une vitesse donnee\n");
                      printf (" 2. Calculer la vitesse en fonction d'un regime donner\n\n");

                      do
                      {
                      printf (" Introduire le numero correspondant a votre choix : ");
                      scanf ("%ld", &menu0);
                      } while (menu0 > 2 || menu0 == 0);

                      //affichage menu 1
                      printf ("\n\n\n");
                      printf (" 1. DTR-DTRE 125cc\n");
                      printf (" 2. DTR 125cc (uniquement 1988)\n");
                      printf (" 3. DTR 200cc\n");
                      printf (" 4. DTX 125cc\n");
                      printf (" 5. TDR 125cc Deltabox\n");
                      printf (" 6. TDR 125cc Lightburner\n");
                      printf (" 7. TZR type 4FL\n");
                      printf (" 8. TZR type 2RL\n");
                      printf (" 9. TZR type 4 GM (Belgarda)\n");
                      printf (" 10. Introduire des valeurs manuellement\n\n");

                      do
                      {
                      printf (" Introduire le numero correspondant a votre choix : ");
                      scanf ("%ld", &menu1);
                      } while (menu1 > 11 || menu1 == 0);

                      printf ("\n\n\n");

                      //Switch menu1 (choix modÚle de moto)
                      if (menu1 == 1)

                      {
                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 16;
                      rouekc_menee = 57;

                      jante = 18;
                      largeur_pneu = 110;
                      rapport_pneu = 80;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      //calculs en interne
                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 2)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 17;
                      rouekc_menee = 55;

                      jante = 18;
                      largeur_pneu = 110;
                      rapport_pneu = 80;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 3)
                      {

                      roue0_menante = 17;
                      roue0_menee = 52;
                      roue1_menante = 12;
                      roue1_menee = 33;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 13;
                      rouekc_menee = 43;

                      jante = 18;
                      largeur_pneu = 120;
                      rapport_pneu = 80;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 4)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 16;
                      rouekc_menee = 57;

                      jante = 17;
                      largeur_pneu = 140;
                      rapport_pneu = 70;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 5)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 16;
                      rouekc_menee = 57;

                      jante = 17;
                      largeur_pneu = 130;
                      rapport_pneu = 80;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 6)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 30;
                      roue3_menante = 17;
                      roue3_menee = 24;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 16;
                      rouekc_menee = 57;

                      jante = 17;
                      largeur_pneu = 130;
                      rapport_pneu = 80;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 7)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 29;
                      roue3_menante = 19;
                      roue3_menee = 26;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 23;
                      roue6_menante = 24;
                      roue6_menee = 22;
                      rouekc_menante = 16;
                      rouekc_menee = 46;

                      jante = 17;
                      largeur_pneu = 140;
                      rapport_pneu = 70;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 8)
                      {

                      roue0_menante = 22;
                      roue0_menee = 71;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 29;
                      roue3_menante = 19;
                      roue3_menee = 26;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 22;
                      roue6_menante = 22;
                      roue6_menee = 18;
                      rouekc_menante = 16;
                      rouekc_menee = 45;

                      jante = 18;
                      largeur_pneu = 100;
                      rapport_pneu = 90;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre
                      }
                      else if (menu1 == 9)
                      {

                      roue0_menante = 22;
                      roue0_menee = 73;
                      roue1_menante = 12;
                      roue1_menee = 34;
                      roue2_menante = 16;
                      roue2_menee = 29;
                      roue3_menante = 19;
                      roue3_menee = 26;
                      roue4_menante = 21;
                      roue4_menee = 24;
                      roue5_menante = 23;
                      roue5_menee = 23;
                      roue6_menante = 24;
                      roue6_menee = 22;
                      rouekc_menante = 18;
                      rouekc_menee = 47;

                      jante = 17;
                      largeur_pneu = 140;
                      rapport_pneu = 70;

                      // calcul des différents rapports
                      rapport_0 = roue0_menee / roue0_menante;
                      rapport_1 = roue1_menee / roue1_menante;
                      rapport_2 = roue2_menee / roue2_menante;
                      rapport_3 = roue3_menee / roue3_menante;
                      rapport_4 = roue4_menee / roue4_menante;
                      rapport_5 = roue5_menee / roue5_menante;
                      rapport_6 = roue6_menee / roue6_menante;
                      rapport_kc = rouekc_menee / rouekc_menante;

                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      }
                      else if (menu1 == 10)
                      {

                      //menu4
                      printf (" 1. Entrer les dimensions du pneu arriere\n");
                      printf (" 2. Entrer la circonference de la roue arriere\n\n");

                      do
                      {
                      printf (" Introduire le numero correspondant a votre choix : ");
                      scanf ("%ld", &menu4);
                      } while (menu4 > 2 || menu4 == 0);

                      if (menu4 == 1)
                      {
                      printf ("\n\n\n");//espace
                      printf (" Entrer la largeur du pneu en millimetres : "); //partie calcul circonférence pneu
                      scanf ("%lf", &largeur_pneu);

                      printf ("\n");//espace

                      printf (" Entrer le rapport entre la largeur et la hauteur du pneu : ");
                      scanf ("%lf", &rapport_pneu);

                      printf ("\n");//espace

                      printf (" Entrer la taille de la jante en pouces : ");
                      scanf ("%lf", &jante);

                      printf ("\n");//espace

                      //calculs en interne
                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      //calculs affichés
                      printf ("\n");//espace
                      printf (" Hauteur du pneu au rayon :\n");
                      printf (" Forumle = (largeur / 100) x rapport\n");
                      printf (" Calcul = (%lf / 100) x %lf = %lf mm\n\n", largeur_pneu, rapport_pneu, hauteur_pneu);

                      printf (" Diametre de la roue en millimetre :\n");
                      printf (" Forumle = (taile de la jante x 25.4) + (hauteur du pneu au rayon * 2)\n");
                      printf (" Calcul = (%lf x 25.4) + (%lf x 2) = %lf mm\n\n", jante, hauteur_pneu, diametre);

                      printf (" Circonference de la roue en metres :\n");
                      printf (" Forumle = (diametre x 3.1415926) / 1000\n");
                      printf (" Calcul = (%lf x 3.1415926) / 1000 = %lf m\n\n", diametre, circonference);

                      }
                      else if (menu4 == 2)
                      {
                      printf (" Entrer la circonference de la roue arriere en metres : ");
                      scanf ("%lf", &circonference);
                      }

                      //kit chaine
                      printf ("\n");//espace
                      printf (" Introduire le nombre de dent du pignon de sortie de boite : ");
                      scanf ("%lf", &rouekc_menante);

                      printf ("\n");//espace

                      printf (" Introduire le nombre de dent de la couronne : ");
                      scanf ("%lf", &rouekc_menee);

                      printf ("\n");//espace

                      // calcul interne
                      rapport_kc = rouekc_menee / rouekc_menante;

                      // calcul affiché
                      printf ("\n");//espace
                      printf (" Rapport a 1 :\n");
                      printf (" Forumle = couronne / pignon de sortie de boite\n");
                      printf (" Calcul = (%lf / %lf = %lf \n\n\n",rouekc_menee ,rouekc_menante, rapport_kc);

                      printf (" Introduire le rapport a 1 (couronne / pignon) de la transmission primaire : ");
                      scanf ("%lf", &rapport_0);
                      printf ("\n\n");//espace

                      do
                      {
                      printf (" Introduire le numero du rapport de boite voulu (1 a 6) : ");
                      scanf ("%ld", &menu2);
                      printf ("\n");//espace
                      } while (menu2 > 6 || menu2 == 0);

                      if (menu2 == 1)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 1ere : ");
                      scanf ("%lf", &rapport_1);

                      }
                      else if (menu2 == 2)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 2eme : ");
                      scanf ("%lf", &rapport_2);

                      }
                      else if (menu2 == 3)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 3eme : ");
                      scanf ("%lf", &rapport_3);

                      }
                      else if (menu2 == 4)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 4eme : ");
                      scanf ("%lf", &rapport_4);

                      }
                      else if (menu2 == 5)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 5eme : ");
                      scanf ("%lf", &rapport_5);

                      }
                      else if (menu2 == 6)
                      {

                      printf (" Introduire le rapport a 1 (pignon entraineur / pignon entrainer) de la 6eme : ");
                      scanf ("%lf", &rapport_6);

                      }

                      //switch pour variable "rapport_choix"
                      if (menu2 == 1)
                      {
                      rapport_choix = rapport_1;
                      }

                      else if (menu2 == 2)
                      {
                      rapport_choix = rapport_2;
                      }

                      else if (menu2 == 3)
                      {
                      rapport_choix = rapport_3;
                      }

                      else if (menu2 == 4)
                      {
                      rapport_choix = rapport_4;
                      }

                      else if (menu2 == 5)
                      {
                      rapport_choix = rapport_5;
                      }

                      else if (menu2 == 6)
                      {
                      rapport_choix = rapport_6;
                      }

                      }

                      if (menu1 <= 9) //choisir pneu d'origine ou manuel ---- Si menu1 = manuel (10), passe plus loin
                      {

                      printf (" Pneu arriere d'origine : %lf - %lf - %lf \n\n", largeur_pneu, rapport_pneu, jante);
                      printf (" 1. Garder la valeur d'origine\n");
                      printf (" 2. Entrer les valeur du pneu arriere manuellement\n");
                      printf (" 3. Entrer la circonference de la roue arriere\n\n");

                      do
                      {
                      printf (" Introduire le numero correspondant a votre choix : ");
                      scanf ("%ld", &menu3);
                      } while (menu3 > 3 || menu3 == 0);

                      printf ("\n\n");

                      if (menu3 == 1)
                      {

                      //calculs affichés
                      printf (" Hauteur du pneu au rayon :\n");
                      printf (" Forumle = (largeur / 100) x rapport\n");
                      printf (" Calcul = (%lf / 100) x %lf = %lf mm\n\n", largeur_pneu, rapport_pneu, hauteur_pneu);

                      printf (" Diametre de la roue en millimetre :\n");
                      printf (" Forumle = (taile de la jante x 25.4) + (hauteur du pneu au rayon * 2)\n");
                      printf (" Calcul = (%lf x 25.4) + (%lf x 2) = %lf mm\n\n", jante, hauteur_pneu, diametre);

                      printf (" Circonference de la roue en metres :\n");
                      printf (" Forumle = (diametre x 3.1415926) / 1000\n");
                      printf (" Calcul = (%lf x 3.1415926) / 1000 = %lf m\n\n", diametre, circonference);
                      printf ("\n");

                      }
                      else if (menu3 ==2)
                      {

                      printf (" Entrer la largeur du pneu en millimetres : "); //partie calcul circonférence pneu
                      scanf ("%lf", &largeur_pneu);

                      printf ("\n");//espace

                      printf (" Entrer le rapport entre la largeur et la hauteur du pneu : ");
                      scanf ("%lf", &rapport_pneu);

                      printf ("\n");//espace

                      printf (" Entrer la taille de la jante en pouces : ");
                      scanf ("%lf", &jante);

                      printf ("\n");//espace

                      //calculs en interne
                      hauteur_pneu = (largeur_pneu / 100) * rapport_pneu; //calcul de la hauteur du pneu
                      diametre = (jante * 25.4) + (hauteur_pneu * 2); //calcul du diamÚtre de la roue (en mm)
                      circonference = (diametre * 3.1415926) / 1000; // calcul de la circonférence en mÚtre

                      //calculs affichés
                      printf (" Hauteur du pneu au rayon :\n");
                      printf (" Forumle = (largeur / 100) x rapport\n");
                      printf (" Calcul = (%lf / 100) x %lf = %lf mm\n\n", largeur_pneu, rapport_pneu, hauteur_pneu);

                      printf (" Diametre de la roue en millimetre :\n");
                      printf (" Forumle = (taile de la jante x 25.4) + (hauteur du pneu au rayon * 2)\n");
                      printf (" Calcul = (%lf x 25.4) + (%lf x 2) = %lf mm\n\n", jante, hauteur_pneu, diametre);

                      printf (" Circonference de la roue en metres :\n");
                      printf (" Forumle = (diametre x 3.1415926) / 1000\n");
                      printf (" Calcul = (%lf x 3.1415926) / 1000 = %lf m\n\n\n", diametre, circonference);

                      }
                      else if (menu3 == 3)
                      {
                      printf (" Entrer la circonference de la roue arriere en metres : ");
                      scanf ("%lf", &circonference);
                      printf ("\n");//espace
                      }

                      printf ("\n");
                      printf (" Kit chaine d'origine (PSB x couronne) : %lf x %lf \n\n", rouekc_menante, rouekc_menee);
                      printf (" 1. Garder la valeur d'origine\n");
                      printf (" 2. Entrer les valeur manuellement\n\n");

                      do
                      {
                      printf (" Introduire le numero correspondant a votre choix : ");
                      scanf ("%ld", &menu3);
                      } while (menu3 > 2 || menu3 == 0);

                      if (menu3 == 1)
                      {

                      //affichage du calcul
                      printf ("\n\n");
                      printf (" Rapport a 1 du kit chaine :\n");
                      printf (" Forumle = dents de la couronne / dents du PSB\n");
                      printf (" Calcul = %lf / %lf = %lf \n\n\n\n", rouekc_menee, rouekc_menante, rapport_kc);

                      }
                      else if (menu3 == 2)
                      {
                      printf ("\n");//espace
                      printf (" Entrer le nombre de dents du pignon de sortie de boite (PSB) : ");
                      scanf ("%lf", &rouekc_menante);

                      printf ("\n");//espace

                      printf (" Entrer le nombre de dents de la couronne : ");
                      scanf ("%lf", &rouekc_menee);

                      printf ("\n");//espace

                      //clacul interne
                      rapport_kc = rouekc_menee / rouekc_menante;

                      //affichage du calcul
                      printf ("\n");//espace
                      printf (" Rapport a 1 du kit chaine :\n");
                      printf (" Forumle = dents de la couronne / dents du PSB\n");
                      printf (" Calcul = %lf / %lf = %lf \n\n", rouekc_menee, rouekc_menante, rapport_kc);

                      }

                      do
                      {
                      printf (" Introduire le numero du rapport de boite voulu (1 a 6) : ");
                      scanf ("%ld", &menu2);
                      } while (menu2 > 6 || menu2 == 0);
                      printf ("\n\n\n");

                      }

                      //switch pour variable "rapport_choix"
                      if (menu2 == 1)
                      {
                      rapport_choix = rapport_1;
                      }

                      else if (menu2 == 2)
                      {
                      rapport_choix = rapport_2;
                      }

                      else if (menu2 == 3)
                      {
                      rapport_choix = rapport_3;
                      }

                      else if (menu2 == 4)
                      {
                      rapport_choix = rapport_4;
                      }

                      else if (menu2 == 5)
                      {
                      rapport_choix = rapport_5;
                      }

                      else if (menu2 == 6)
                      {
                      rapport_choix = rapport_6;
                      }

                      if (menu0 == 1)//Calculer le régime en fonction d'une vitesse donnée
                      {
                      printf ("\n\n");//espace
                      printf (" Entrer la vitesse (en km/h) : ");
                      scanf ("%lf", &vitesse);
                      printf ("\n");//espace

                      //calcul interne
                      rapport_total = rapport_0 * rapport_choix * rapport_kc;
                      regime = ((vitesse * 1000) / (circonference * 60)) * rapport_total;

                      printf ("\n");
                      printf (" Rapport total :\n");
                      printf (" Formule = rapport primaire x rapport boite de vitesse x rapport kit chaine\n");
                      printf (" Calcul = (%lf x %lf x %lf = %lf \n\n", rapport_0, rapport_choix, rapport_kc, rapport_total);

                      printf (" Regime theorique :\n");
                      printf (" Forumle = ((vitesse * 1000) / (circonference roue AR * 60)) * rapport total\n");
                      printf (" Calcul = ((%lf x 1000) / (%lf x 60)) x %lf t/min\n\n", vitesse, circonference, regime);

                      }

                      else if (menu0 == 2)//Calculer la vitesse en fonction d'un régime donné
                      {
                      printf ("\n\n");//espace
                      printf (" Entrer le regime (en t/min) : ");
                      scanf ("%lf", &regime);
                      printf ("\n");//espace

                      //calcul interne
                      rapport_total = rapport_0 * rapport_choix * rapport_kc;
                      vitesse = ((regime / rapport_total) * 60 * circonference) / 1000;

                      printf (" Rapport total :\n");
                      printf (" Formule = rapport primaire x rapport boite de vitesse x rapport kit chaine\n");
                      printf (" Calcul = (%lf x %lf x %lf = %lf \n\n", rapport_0, rapport_choix, rapport_kc, rapport_total);

                      printf (" Vitesse theorique :\n");
                      printf (" Forumle = ((regime / rapport total) * 60 * circonference de la roue AR) / 1000;\n");
                      printf (" Calcul = ((%lf / %lf) x 60 x %lf) / 1000 = %lf km/h \n\n\n\n", regime, rapport_total, circonference, vitesse);

                      }

                      system("PAUSE");
                      return 0;
                      }
                      1
                      1. merci
                        il est bien ton logiciel ;)
                        bien joué ;)
                        1
                        1. Merci.

                          Il me reste plus "que" à apprendre à faire une interface graphique.
                          1
                          1. Contributeur
                            Par pure curiosité (je suis pas resté regarder le nom des variables et le code), à quoi sert ton programme? T'en aurais une utilisation professionnelle, c'était pour t'amuser...?
                            1