Téléchargement
illégal
Posez votre question Signaler

Petit logiciel de calcul en console [Résolu]

Rony4491 1839Messages postés 11 janvier 2009Date d'inscription 25 octobre 2011Dernière intervention - Dernière réponse le 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 ?
Lire la suite 

Petit logiciel de calcul en console »

14 réponses
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
#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.
Ajouter un commentaire
Réponse
+1
moins plus
En mettant "(float)" sa change quoi au niveau type de variable etc... ?
Ajouter un commentaire
Réponse
+1
moins plus
C'est autorisé de faire sa ?

double a = 20;
double b = 0;


a = b;

printf ("%lf", b);
Ajouter un commentaire
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
j'attends Rony4491 stp !!!
Ajouter un commentaire
Réponse
+1
moins plus
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;
}
Ajouter un commentaire
Réponse
+1
moins plus
merci
il est bien ton logiciel ;)
bien joué ;)
Ajouter un commentaire
Réponse
+1
moins plus
Merci.

Il me reste plus "que" à apprendre à faire une interface graphique.
Ajouter un commentaire
Réponse
+1
moins plus
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...?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
peut tu nous donner ton code source stp.
j'aimerais bien savoir ce que tu as pu faire ;)
merci
Ajouter un commentaire
Ce document intitulé « Petit logiciel de calcul en console » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?