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. 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. 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. 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
                      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
                          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. peut tu nous donner ton code source stp.
                            j'aimerais bien savoir ce que tu as pu faire ;)
                            merci
                            0