Voilà, pour mon cours de programmation, nous sommes censé coder un programme qui permet de convertir des degrés Fahrenheit en degrés Celsius.
Voici mon code
#include <stdio.h>
#include <stdlib.h>
int main()
{
int iFahrenheit;
float fCelsius;
printf("Entrez une temperature en degre Fahrenheit: ");
scanf("%d", &iFahrenheit);
fCelsius = (iFahrenheit - 32) * (5/9);
printf("\n%d degres Fahreneit = %0.2f degres Celsius.", iFahrenheit, fCelsius);
return 0;
}
Le soucis, c'est que lorsque je suis dans la console, la dernière phrase s'affiche (presque) correctement ! Mais la valeur en degrés Celsius ne s'affiche pas, elle vaut tout le temps 0.00 ! J'ai pourtant essayé de casté soit (iFahrenheit - 32) soit (5/9), mais rien n'y fait ! Je me doute donc que le soucis se trouve dans le printf, mais je n'arrive pas à le trouver ...
Y a-t-il une âme charitable qui pourrait m'aiguiller et m'expliquer le pourquoi ça ne marche pas et le comment y remédier ?
Quand on écrit dans notre code un nombre comme 5 ben c'est un entier. 5/9 c'est la division de 2 entiers ce qui donne un entier. Comme ça été mentionné avec 5.0/9 ou encore (float)5/9 ça fonctionne.
Avec fCelsius=(iFahrenheit-32)/1.8; tu l'aurais eu tout de suite
Et ça donne bien:
212f = 100c
32f = 0c
-40f = -40c
ecrire un algorithme qui permet de convertir une temperature de degrés celsius en degrés fahrenheit. la formule d conversion est la suivante :(9/5)*c+32. f est la temperature en fahrenheit ety c le temperature en celsius.
@kouamebriceSouman Bonsoir, merci de ne pas squatter le sujet résolu des autres, créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Objectif Zéro Bug - le test logiciel professionnel | L'électronique de zéro | Tableaux & pointeurs | Pointeurs sur fonctions | Lecture/écriture binaire