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,5pi=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 * Pioder 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