Petit logiciel de calcul en console
Résolu
Utilisateur anonyme
-
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
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 ?
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 ?
A voir également:
- Petit logiciel de calcul en console
- Logiciel de sauvegarde gratuit - Guide
- Money logiciel - Télécharger - Comptabilité & Facturation
- Logiciel - Guide
- Logiciel montage vidéo gratuit windows 10 - Guide
- Logiciel calcul plancher bois gratuit - Télécharger - Architecture & Déco
14 réponses
tiens là ça marche mieux ;)
De rien.
#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.
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
exemple :
7 / 2 = 3
7 % 2 = 1
il y a 3 fois 2 et il reste 1
#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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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", ®ime);
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;
}
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", ®ime);
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;
}
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...?
Merci Jason. ;-)
Par contre tu avais oublié :
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.
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.