Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème programme conversion Fahreneit/Celsius

Sujet résolu
28 septembre 2012 à 23:40:37

Bonsoir à tous,

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 ... :euh:

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 ?

Un grand merci d'avance :)
  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2012 à 23:52:58

#include <stdio.h>

int main(void)
{
    float a;
    a = 5/9;
    printf("%.2f\n", a);
    a = 5./9;
    printf("%.2f\n", a);
    return 0;
}


Je te laisse découvrir pourquoi.
  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2012 à 5:47:50

Salut!

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 :p

Et ça donne bien:
212f = 100c
32f = 0c
-40f = -40c

:)
  • Partager sur Facebook
  • Partager sur Twitter
29 septembre 2012 à 9:51:25

Merci beaucoup à vous, je vois plus clair maintenant :)
  • Partager sur Facebook
  • Partager sur Twitter
9 mars 2024 à 19:51:52

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.
  • Partager sur Facebook
  • Partager sur Twitter
9 mars 2024 à 20:20:11

réfléchir et relire le cours
  • Partager sur Facebook
  • Partager sur Twitter
9 mars 2024 à 20:42:28

@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 </>.  

Déterrage

Citation des règles générales du forum :

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

Liens conseillés

Je ferme ici.

  • Partager sur Facebook
  • Partager sur Twitter