Problemes avec mon programmes mais ne sait pas ou..
Résolu
sikim69
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonsoir, je viens de faire un programme pour l'ecole ou je transforme les degrees farhenheit en degree celcius mais apparement, je n'obtiens aucunes reponses lors de la compilation..
Merci de m'aider, voilà mon programme :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
int main ()
{
float far, c1,c2;
float celcius;
printf("Entrez la temperature en Farhenheit : ");
scanf("%f",&far);
c1=far-32;
c2=5/9;
celcius= c2 * c1;
printf("\nVoici la temperature en Celcius : %f", celcius);
fflush(stdin);
getch(); getch();
return(0);
}
Merci de m'aider, voilà mon programme :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
int main ()
{
float far, c1,c2;
float celcius;
printf("Entrez la temperature en Farhenheit : ");
scanf("%f",&far);
c1=far-32;
c2=5/9;
celcius= c2 * c1;
printf("\nVoici la temperature en Celcius : %f", celcius);
fflush(stdin);
getch(); getch();
return(0);
}
A voir également:
- Problemes avec mon programmes mais ne sait pas ou..
- Complément logiciel microsoft publier au format pdf ou xps pour les programmes microsoft office 2007 - Télécharger - Bureautique
- Programmes au démarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Mettre en veille des programmes - Guide
- Comment fermer un programme qui ne répond pas - Guide
1 réponse
c2=5/9;
c2 vaudra 0. Il faut faire : c2=(float)5/9 ou mieux c2=5.0/9 et travailler en double.
fflush(stdin);
A ne jamais utiliser. Le comportement est non standard.
Utilise un simple getchar() ou une boucle while sur getchar()!='\n' ou EOF.
getch();
getchar(); c'est mieux c'est portable.
return(0);
return n'est pas une fonction. return 0; est suffisant.
#include <math.h>
Inutile ici.
#include <conio.h>
Utile pour getch() (obsolète (utilise plutôt _getch())) mais non portable. Cf. plus haut.
Cdlt,
c2 vaudra 0. Il faut faire : c2=(float)5/9 ou mieux c2=5.0/9 et travailler en double.
fflush(stdin);
A ne jamais utiliser. Le comportement est non standard.
Utilise un simple getchar() ou une boucle while sur getchar()!='\n' ou EOF.
getch();
getchar(); c'est mieux c'est portable.
return(0);
return n'est pas une fonction. return 0; est suffisant.
#include <math.h>
Inutile ici.
#include <conio.h>
Utile pour getch() (obsolète (utilise plutôt _getch())) mais non portable. Cf. plus haut.
Cdlt,
Mais vu que j'ai tout declarer en float, c2 ne devrait pas valoir 0, ce n'est pas logique. Vu que float = reel et que le resultat de 5/9 vaut un reel..
Sauf que 5 et 9 sont des entiers. Donc 5/9 est une division d'entier et cela retourne logiquement 0. Le 0 sera transformé en 0.0f (float) (promotion automatique) pour être stocké dans c2. Mais toi tu veux faire une division réelle. Il faut donc faire 5.0f/9 ou (float)5/9. Ainsi tu auras le résultat escompté.