Petit logiciel de calcul en console

Résolu/Fermé
Utilisateur anonyme - 5 nov. 2009 à 19:16
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 - 6 nov. 2009 à 20:29
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 ?
A voir également:

14 réponses

jason-live Messages postés 178 Date d'inscription mardi 1 septembre 2009 Statut Membre Dernière intervention 26 décembre 2009 35
5 nov. 2009 à 19:23
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
JahJah73 Messages postés 208 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 14 décembre 2009 11
5 nov. 2009 à 19:24
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
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 853
5 nov. 2009 à 19:52
#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
Utilisateur anonyme
5 nov. 2009 à 20:03
En mettant "(float)" sa change quoi au niveau type de variable etc... ?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 nov. 2009 à 21:25
C'est autorisé de faire sa ?

double a = 20;
double b = 0;


a = b;

printf ("%lf", b);
1
Utilisateur anonyme
5 nov. 2009 à 22:19
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
jason-live Messages postés 178 Date d'inscription mardi 1 septembre 2009 Statut Membre Dernière intervention 26 décembre 2009 35
5 nov. 2009 à 22:45
j'attends Rony4491 stp !!!
1
Utilisateur anonyme
6 nov. 2009 à 13:00
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;
}
1
jason-live Messages postés 178 Date d'inscription mardi 1 septembre 2009 Statut Membre Dernière intervention 26 décembre 2009 35
6 nov. 2009 à 16:50
merci
il est bien ton logiciel ;)
bien joué ;)
1
Utilisateur anonyme
6 nov. 2009 à 20:14
Merci.

Il me reste plus "que" à apprendre à faire une interface graphique.
1
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 853
6 nov. 2009 à 20:29
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
Utilisateur anonyme
5 nov. 2009 à 19:40
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
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 853
5 nov. 2009 à 21:48
Ben c'est pas interdit, ça dépend de ce que tu cherches à faire.


a = b; 


assigne la valeur de b à la variable a. Autrement dit a vaut 0 désormais.
0
jason-live Messages postés 178 Date d'inscription mardi 1 septembre 2009 Statut Membre Dernière intervention 26 décembre 2009 35
5 nov. 2009 à 22:21
peut tu nous donner ton code source stp.
j'aimerais bien savoir ce que tu as pu faire ;)
merci
0