[C++] C++ und die Zahl Pi

Otti

Captain
Registriert
Jan. 2003
Beiträge
3.332
C++ und die Zahl Pi ???

Hallo!

Folgendes:

seht euch erstmal den Screenshot an...so, das ist, was uns unser Prof bei der 2-ten Vorlesung Informatik an die Tafel gekritzelt hat. Daheim wollt ich das gleich ausprobieren...mein C++(Visual C++ 6.0) compiliert auch alles, bis auf Pi, da sagt er dann was von "undeclared identifier".
Das versteh ich jedenfalls noch nicht, da ich ja math.h included hab, oder steht Pi woanders drin. Abgesehen davon, wenn der Eumel was an die Tafel schreibt, dann sollte das wenigstens laufen.
Vielleicht wißt ihr ja weiter. Danke schonmal.
 

Anhänge

  • c++.jpg
    c++.jpg
    68,8 KB · Aufrufe: 4.090
Wenn ich mich recht erinnere, heisst die "Pi-Konstante", welche sich in der math.h befindet M_PI.
Und wenn das nicht geht, berechne dir PI einfach mit Pi=4*arctan(1) :D
 
Nein das geht auch nicht...also M_PI.
Wie gesagt...hatte erst 2 Vorlesungen...weiß also nicht genau wie das geht, aber eins kann ich dir schonmal sagen: arctan ist auch "undeclared identifier". Komisch

Kann ich Pi nicht einfach deklarieren...also

float Pi;
Pi = 3,14;

sowas in der Richtung.

also......so gehts:

// Wiederholung Hallo 16.10.03

// Hallo2.cpp

#include <iostream.h>
#include <math.h>
int main()
{
float Pi;
Pi=3.141592654;
cout << "Hallo"; cout <<'\n';
cout << 9+1 <<'\n';
cout << "3 sin30="
<< 3*sin(30*Pi/180) <<'\n';
int faktor; cout << "x="; cin >> faktor;
cout << "Das Fuenffache ist: " << 5*faktor <<'\n';
cin.get();
return 0;
}

Ich will ja aber nicht immer Pi manuell eingeben...das doch dooooof. Los ihr C++ Cracks, helft mir!!! Bitte!!!


// Hab grad rausgefunden daß der arcus tangens in der math.h als "atan" drin ist...dann geht auch dein 2ter Vorschlag Morpheus.
Wie werde ich jetzt aber das Warning los(sie Screenshot) los??
 

Anhänge

  • c++2.jpg
    c++2.jpg
    83,4 KB · Aufrufe: 1.564
Zuletzt bearbeitet:
Hmmm.. das ist irgendwie komisch, dass M_PI nicht funktioniert.
die funktion für arctan heisst in c "atan"
also kannst du pi so ausrechnen:
Code:
float Pi = 4.0*atan(1.0)

Edit: hab jetzt rausgefunden, dass M_PI ein compiler (bzw. entwicklerumgebung) abhängiges macro ist. Vielleicht funktioniert es deswegen nicht bei dir
 
Zuletzt bearbeitet:
Hat sich schon erledigt.
 
Zuletzt bearbeitet:
Jaaa, schön und gut...aber bei Microsoft Visual C++ sollte doch sowas funktionieren?
Naja, wie auch immer...hab ja morgen Vorlesung.
Wie werde ich jetzt geschickt die Warnung aus Screenshot 2 los? Was meint der denn da?
Die Warnung betfrifft übrigens Zeile 10!
 
Zuletzt bearbeitet:
Die warning kommt daher, weil atan eine funktion ist, die ein double zurückgibt. Du versuchst diese double-zahl in einem float zu speichern. Da double einen grösseren "Wertebereich" hat, kommt die warning, dass evtl daten verloren gehen können.
Du köntest entweder Pi als double deklarieren:
Code:
double Pi = 4.0*atan(1.0)
oder das ergebnis von atan(1) auf einen float casten (=konvertieren):
Code:
float Pi = ((float)4.0*atan(1.0));

Vorschlag nr.1 wär aber besser.
 
Zurück
Oben