Probleme d'utilisation de sinus...

Résolu
Bonjour,

Je veux en premier lieu utiliser la fonction sinus et afficher le résultat !
J'ai inclu math.h !

Ma portion de code :

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

int main(int argc, char *argv[])
{
int Alpha=0 ;
float b2=0;

printf("Veuillez choisir un angle \n") ;
scanf("%d", &Alpha) ;
b2=sin(Alpha) ;
printf("Sinus(Alpha) vaut %d", b2) ;

}

A la calculatrice pour Alpha=-6, sinus(-6)=-0.104
et dans mon programme b2 ne vaut pas -0.104 !

Pouvez vous m'aider ?

Je ne sais pas si la difference radians / degrés y est pour quelque chose ?!

5 réponses

  1. Contributeur
    Déjà tu déclares b2 en float, tu l'affichesen tant que int sachant que sinus() renvoie du double... il faut uniformiser.
    Donc double b2;
    Pour afficher sprint printf ("% f", sinus (b2));
    Apres tu dis vouloir calculer le sinus de 6, mais de 6 degres ou de 6 radians ?
    Selon la réponse il faudra faire une conversion.
    1. j'aimerais calculer le sinus(6).
      Je voudrais mes angles en degré.
      1. Contributeur
        Ben, comme je t'ai dit, il faut faire une conversion...
        Par exemple :
        /*en début de code*/
        #ifndef M_PI
        #define M_PI 3.14159265358979323846
        #endif

        Il suffit de multiplier par M_PI/180
        Par exemple : sin(angleDegre/180.0*M_PI);
        1. Cela fonctionne !

          je retrouve mon sinus(-6)=-0.104
          comme à la calculatrice !

          Par contre cela semble fonctionner mais je déclare

          #define M_PI 3.1415...etc
          uniquement et pas avec:

          #ifndef M_PI
          et
          #endif

          Voilà
          Est-ce correct ?
          1. Contributeur
            C'est mieux avec les #ifndef et #endif. Que dit ton compilateur ?