Langage C, Valeur absolu, fabs

Résolu
Valerian13 Messages postés 14 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 16 septembre 2020 - 20 sept. 2008 à 12:18
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 20 sept. 2008 à 18:17
Bonjour, donc je suis plus qu'un débutant :p
Et je suis les instructions d'un forum pour apprendre. Et avec ce code source, qui est censé calculer la valeur absolu d'un nombre, j'ai de petits problemes!
Donc voici le code:

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

int main(int argc, char *argv[])
{    double absolu 0, nombre 0;

    printf("Calcul de la valeur absolue\n\nEntrer nombre : "); //On demande d'entrer un nombre
    scanf("%ld", &nombre);
   
    absolu = fabs(nombre);

    printf("Valeur absolue = %ld\n", absolu); //Valeur absolue du nombre calculée

    system("PAUSE");   
    return 0;
}
Donc avec celui ci, si je rentre un nombre la fonction fabs me retournera quelque soit le signe( - ou +) le même nombre. Déjà que le programme ne sert pas a grand chose, alors là il sert vraiment a rien pour le coup :p
double absolu 0, nombre 0;
En changeant ce double par int ça marche, par contre je peux plus le faire avec des nombre décimaux...

Du coup j'ai essayé de mettre double a la place de int dans la déclaration de fonction :
int main(int argc, char *argv[])
Et ça refait comme au début

Et pour finir en laissant
double main(int argc, char *argv[]),
et en mettantint absolu 0, nombre 0;
On ne voit toujours pas la valeur absolu pour les nombres décimaux

Voila si quelqu'un pourrait m'aider, merci d'avance je pense pas que ça doit etre bien dur a résoudre (j'utilise Visual C++)
A voir également:

8 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
20 sept. 2008 à 17:33
%lf
et non
%ld

int main(int argc, char *argv[])
{    double absolu 0, nombre 0;
   
    printf("Calcul de la valeur absolue\n\nEntrer nombre : "); //On demande d'entrer un nombre
    scanf("%lf", &nombre);
   
    absolu = fabs(nombre);
   
    printf("Valeur absolue = %lf\n", absolu); //Valeur absolue du nombre calculée
    return 0;
}

C++ (@++)
2
Rejoignez-nous