Probleme d'utilisation de sinus...

Résolu
davidmicka23 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
davidmicka23 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
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. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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.
    0
  2. davidmicka23 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   3
     
    j'aimerais calculer le sinus(6).
    Je voudrais mes angles en degré.
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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);
    0
  4. davidmicka23 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   3
     
    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 ?
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      C'est mieux avec les #ifndef et #endif. Que dit ton compilateur ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. davidmicka23 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   3
     
    Cela fonctionne !

    Merci beaucoup fiddy.
    0