Langage C - les décimales

Bonjour,

Tout d'abord merci à ceux qui ont déjà essayé de me répondre (notamment dubcek).

Voilà ma question : comment insérer des décimales dans mon programme final (programme console) ?

J'ai essayé avec %f, %l, %d, %ld, %lf... Puis avec %5.2f, et %5.2d, mais rien à faire... ce qui me semble le plus proche reste le %5.2f, car une valeur décimale s'affiche... mais cette valeur est "0.00"...

J'ai essayé en définissant ma variable comme un float, un int, un double... rien à faire. Une idée?
Configuration: Windows XP
Firefox 2.0.0.9

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Oui, elle l'est.

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

    int main(int argc, char *argv[])
    {
    long PCClub = 0, distance = 0, surface = 0, forcevent = 0, sensvent = 0, anglevent = 0, slope = 0, greenslope = 0;
    float hauteur = 0, fdv = 0, deca = 0, power = 0, degres = 0;
    [...]
    printf("\n\nQuelle est la hauteur du trou?\n\n");
    scanf("%5.2d", &hauteur);
    if (hauteur < 0)
    {
    printf("\nLe trou est a %5.2d metre(s) de bas\n\n", hauteur);
    }
    else
    {
    printf("\nLe trou est a %5.2d metre(s) de haut\n\n", hauteur);
    }

    system("PAUSE");
    return 0;
    }
    1. je comprends pas bien ta question...

      tu veux choisir le nombre de chiffre apres la virgule ?
      si c'est ça apres le point tu mets le nombre de chiffre que tu veux dans la partie decimale
      par exemple pour 2 chiffre : %.2f
      pour 3 chiffre : %.3f
      etc...
      1. Je vais essayer ça, merci.
        1. #include <stdio.h>
          #include <stdlib.h>
          #include <math.h>

          int main(int argc, char *argv[])
          {
          long PCClub = 0, distance = 0, surface = 0, forcevent = 0, sensvent = 0, anglevent = 0, slope = 0, greenslope = 0;
          float hauteur = 0, fdv = 0, deca = 0, power = 0, degres = 0;

          printf("\n\nQuelle est la hauteur du trou?\n\n");
          scanf("%f", &hauteur);
          if (hauteur < 0)
          {
          printf("\nLe trou est a %.2f metre(s) de bas\n\n", hauteur);
          }
          else
          {
          printf("\nLe trou est a %.2f metre(s) de haut\n\n", hauteur);
          }

          system("PAUSE");
          return 0;
          }
      2. Question bête : es-tu sûr que la variable que tu cherches à afficher est bien initialisée ? peut-être que si tu nous montrais un bout de code, on pourrais mieux te conseiller...