Cosinuswert berechen



  • Datenbank ist auf jeden Fall falsch. math.h ist eine System-Headerdatei. Das #include ist die Include-Direktive, die sagt, dass Du diesen Header (und damit alle Funktionen etc., die dort definiert werden) benutzen willst.

    Grad in Bogenmaß:

    Grad
    ------ * 2 * Pi
    360



  • was ist denn dieses bogenmaß genau? wenn ich in deiner formel 90 für grad einsetze, bekomme ich 1,570796327 raus. was für eine zahl ist das?



  • r4v3r schrieb:

    was ist denn dieses bogenmaß genau? wenn ich in deiner formel 90 für grad einsetze, bekomme ich 1,570796327 raus. was für eine zahl ist das?

    Das ist 1/2 Pi, der Umfang von einem Viertel-Kreisabschnitt.

    Gruß



  • dass das 1/2 pi ist, ist klar:
    90/360=0,25
    0,252=0,5
    0,5
    pi=1/2 pi
    aber wie bekomme ich jetzt aus dieser zahl den cosinuswert?



  • Das ist der "Kosinuswert". Aber eben im Bogenmaß.

    Du musst obige Formel umstellen und Bogenmaß (man liest häufig: Rad) wieder in Grad umrechnen - denn das meinst Du mit Kosinuswert, oder?

    Rad * 360        
    Grad = -----------
              2 * Pi
    

    oder so:

    double grad = rad * 180 / M_PI;
    

    2 * Pi ist übrigens der Umfang des Einheitskreises (Ein Kreis mit dem Radius 1) und das Bogenmaß ist eine Strecke auf eben diesem Einheitskreis.



  • 7H3 N4C3R schrieb:

    double grad = rad * 180 / M_PI;
    

    was bedeutet M_PI? 😕
    und ist die formel für rad dann rad = grad * 180 / M_PI?

    EDIT: Ok ich habs jetzt selbst geschafft! Es hat nur noch einen Bug bei 90°... anstatt "Es gibt keine Loesung!" gibt er "Es gibt keine Loesung!Der Cosinuswert ist 1,7949e-009" Weiss irgendwer, warum?

    #include <iostream> 
    #include <math.h> 
    
    using namespace std; 
    
    int main (void) 
    
    { 
         cout << "Geben sie die Gradzahl eines Winkels ein:"; 
         double grad; 
         double dErg; 
         cin >> grad; 
         if (grad==90) 
         { 
                       cout << "Der Cosinuswert ist 0"; 
         } 
         if (grad==270) 
         { 
                       cout << "Der Cosinuswert ist 0"; 
         } 
         else 
         {             
         const double PI = 3.14159265; 
         double dBog = (2 * PI) / 360;     
         dErg = cos( dBog * grad ); // 1.0 
         cout << "Der Cosinuswert ist "; 
         cout << dErg ; 
         cout << endl; 
         } 
    
         system("pause"); 
         return 0; 
    }
    


  • Da fehlt ein else

    if (grad==90)
    {
         cout << "Es gibt keine Loesung!";
    } else
    if (grad==270)
    


  • Ein else bezieht sich immer nur auf das ihm vorausgehende if. Daher wird dein else-Block immer dann betreten, wenn grad nicht 270 ist, also auch bei 90.

    Das kannst du hier z.B. so lösen:

    if(grad==90)
    {
      // ...
    }
    else
    {
      if(grad == 270)
      {
        // ...
      }
      else
      {
        // ...
      }
    }
    


  • danke leute, dass programm is fertig 🙂

    #include <iostream> 
    #include <math.h> 
    
    using namespace std; 
    
    int main (void) 
    
    { 
         cout << "Geben sie die Gradzahl eines Winkels ein:"; 
         double grad; 
         double dErg; 
         cin >> grad; 
         if (grad==90) 
         { 
                       cout << "Der Cosinuswert ist 0"; 
         }
         else 
         {                
         if (grad==270) 
         { 
                       cout << "Der Cosinuswert ist 0"; 
         } 
         else 
         {             
         const double PI = 3.14159265; 
         double dBog = (2 * PI) / 360;     
         dErg = cos( dBog * grad ); // 1.0 
         cout << "Der Cosinuswert ist "; 
         cout << dErg ; 
         cout << endl; 
         } }
    
         system("pause"); 
         return 0;
    }
    


  • #include <iostream> 
    #include <math.h> 
    
    using namespace std; 
    
    int main (void) 
    { 
         cout << "Geben sie die Gradzahl eines Winkels ein:"; 
         double grad; 
         double dErg; 
         cin >> grad; 
         if (grad%180 == 90) // oder if ( (grad == 90) || (grad == 270) )
         { 
                       cout << "Der Cosinuswert ist 0"; 
         }
         else 
         {             
           const double PI = 3.14159265; 
           double dBog = (2 * PI) / 360;     
           dErg = cos( dBog * grad ); // 1.0 
           cout << "Der Cosinuswert ist "; 
           cout << dErg ; 
           cout << endl; 
         }
    
         system("pause"); 
         return 0;
    }
    

    Noch ein Tick kürzer :p


Anmelden zum Antworten