Convertion fahreneit celsius. langage C

Résolu/Fermé
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009 - 18 janv. 2009 à 20:18
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 18 janv. 2009 à 20:48
Bonjour,j'ai un probleme sur une code en langage C:
#include <stdio.h>
#include <stdlib.h>

long convertion(long se, long math)
{
return math = (5* (se - 32)/9 );
}
int main ()
{
   int fahr, celsius;
   {
      printf ("Ceci est un tableaux de convertion farhrenheit/celsius \n");
      printf(" Entrez un chiffre entier \n");
      scanf("%1d",&fahr);
      celsius=convertion(fahr);
      printf("il fait %d C",celsius);
   }
   return 0;
}

voila sa me met error to few argumnts to functions convertion
je comprend ce que sa veut dire mais quecqu il faut que j ecrive en plus ?
A voir également:

12 réponses

william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
18 janv. 2009 à 20:27
ben dit ta fonction convertion attend deux valeurs en parametre
long convertion(long se, long math)

et toi tu en donne une seule valeur comment veux tu que le programme compile?
celsius=convertion(fahr);
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
18 janv. 2009 à 20:28
essaie ça voir


#include <stdio.h>
#include <stdlib.h>

long convertion(long se)
{
return (5* (se - 32)/9 );
}
int main ()
{
   int fahr, celsius;
   {
      printf ("Ceci est un tableaux de convertion farhrenheit/celsius \n");
      printf(" Entrez un chiffre entier \n");
      scanf("%1d",&fahr);
      celsius=convertion(fahr);
      printf("il fait %d C",celsius);
   }
   return 0;
}

0
En regroupant les deux messages précédents, ta fonction n'a en réalité qu'un seul argument : se, puisque tu n'as besoin que d'une seule inconnue. Ta variable math est un retour et comme l'a mis lami, pas besoin de la créer dans ta fonction ;)
0
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:30
Ouai enfaite sa compiler trankil mais sa me donner une valeur qui na aucun cense par exemple 3520000 degres fahrenheit =-17 degrec C et c'est pareil avec n'importe quelle valeur sa depend si c'est paire ou impaire lol si c'est impaire c'est -13 C et si c'est paire c'est -17 degrec ....
0

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

Posez votre question
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:33
Non c'est un 1 pour dire que c'est un nombre entier .
0
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:33
Enfin c'est plutot le d pour dire que c'est un nombre entier le 1 c'est pour le nombre de chiffre qui sa suivre
0
Tu crois vraiment que tes températures ne vont pas dépasser les 10° ? ^^ (F ou C) Contente-toi d'un %d ...
0
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:36
Mais le 1 est surpimable la je c'est pas pourquoi je l'ai mi sa pourait etre seulement :
scanf("%d"&fahr);
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 janv. 2009 à 20:44
Re,

lami20j@debian:~/trash$ cat ccm35_f2c.c
#include<stdio.h>

float f2c(float fahrn);

int main ()
{
  float fahrn;

  printf("Entrez la valeur en fahrenheit : ");
  scanf("%f",&fahrn);

  printf("%.f °F = %.1f °C\n", fahrn, f2c(fahrn));
  return 0;
}

float f2c(float fahrn){
  return((fahrn - 32.0) * 5.0)  / 9.0;
}

lami20j@debian:~/trash$ gcc ccm35_f2c.c
lami20j@debian:~/trash$ ./a.out
Entrez la valeur en fahrenheit : 0
0 °F = -17.8 °C
lami20j@debian:~/trash$ ./a.out
Entrez la valeur en fahrenheit : 20
20 °F = -6.7 °C
lami20j@debian:~/trash$ ./a.out
Entrez la valeur en fahrenheit : 40
40 °F = 4.4 °C
lami20j@debian:~/trash$


0
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:45
Enfaite tout les probleme etais dans le %d lol ^^
meme ce code la ete bon mais plus long :
#include <stdio.h>
#include <stdlib.h>

long convertion(long se, long math)
{

return math = (5* (se - 32)/9 );
}
int main ()
{
   int fahr, celsius;
   {
      printf ("Ceci est un tableaux de convertion farhrenheit/celsius \n");
      printf(" Entrez un chiffre entier \n");
      scanf("%d",&fahr);
      celsius=convertion(fahr,celsius);
      printf("il fait %d C",celsius);
   }
   return 0;
}
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 janv. 2009 à 20:48
Re,

Oui, mais inutile.
Le deuxième paramètre ne sers à rien.

Avec ce code ça va. Mais quand tu auras des centaines de lignes de code vaut mieux d'être cohérent et de construire bien les fonctions.
0
bouboulover Messages postés 11 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 18 janvier 2009
18 janv. 2009 à 20:47
Merci pour votre aident .
Bonne soiré.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 janv. 2009 à 20:25
Salut,
long convertion(long se)
{
    return (5* (se - 32)/9 );
}

-1
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 janv. 2009 à 20:31
Re,

scanf("%1d",&fahr);
Ce n'est pas plutôt un L en minuscule "l" au lieu de 1?
 scanf("%ld",&fahr);


-1