Pi in C

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
hi,

ich hoffe ich bin hier soweit richtig. aber ich verzweifle gerade

Code:
#include <stdio.h>
#include <math.h>

int main(void)      {

        /*Fliesskommazahl*/
        double Umfang, Flaeche, r, Pi = 3.14159;  /*Schreibweisen für PI=3.14159E, 0.01f, 0.0, 3rl, 1.0E-3,*/

           /*Eingabe*/
           printf("Geben Sie den Radius ueber die Tastatur ein\n");
           scanf("%lf", &r);

             /*Berechnung*/
             Umfang = 2*Pi*r;
             Flaeche = Pi*r*r;

                 /*Ausgabe*/
                 printf("Umfang  = %.2lf\n",Umfang);
                 printf("Flaeche = %.2lf\n",Flaeche);

     return 0;
}

das berechnet den umfang und die flaeche, soweit so gut. es soll aber angeblich drei schreibweisen für pi geben. meine angegebenen gehen nicht. sprich ich hab ka wie lauten.

hat da jmd vielleicht eine idee?

ich brauchs nicht so dringend, bis morgen um 6:45 ^^ ich verzweifle hier :p

dank im voraus
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Warum benutzt du nicht M_PI?
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
Es gibt M_PI als vordefinierte Konstante.
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
sry ich weiß es nicht einzusetzen. es klappt in meinem gebilde nicht.
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Code:
Umfang=2*M_PI*r;
Was geht denn nicht?
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Dein Code läuft bei mir ohne meckern...
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
Code:
Umfang=2*M_PI*r;
Was geht denn nicht?

Code:
kreis.c: In function 'main':
kreis.c:21: error: 'Pi' undeclared (first use in this function)
kreis.c:21: error: (Each undeclared identifier is reported only once
kreis.c:21: error: for each function it appears in.)
dieser fehler kommt immer, daher auch die frage ob es in meinem "gebilde" reinpasst.

*edit*
der code geht auch ohne probs bei mir. nur nicht wenn ich versuche andere möglichkeiten für pi einzubinden. und genau das brauche ich.

*edit2*
ich bin so doof manchma. ok diese variante geht auch. sprich ich habe nun zwei. fehlt die dritte. danke schonmal dafür. fehler lag am kleinen i ... M_Pi ..

*edit3*
Code:
#include <stdio.h>
#include <math.h>

int main(void)      {

        /*Fliesskommazahl*/
        double Umfang, Flaeche, r;  /*Schreibweisen fuer Pi=3.14159265, M_PI, #define Pi 3.14159265, const double Pi = 3.14159265*/

           /*Eingabe*/
            printf("Geben Sie den Radius ueber die Tastatur ein\n");
            scanf("%lf", &r);

           /*Berechnung*/
           Umfang = 2*M_PI*r;
           Flaeche = M_PI*r*r;

                  /*Ausgabe*/
                  printf("Umfang  = %.2lf\n",Umfang);
                  printf("Flaeche = %.2lf\n",Flaeche);

      return 0;
}

so soll es genau aussehen, in der beschreibung auch die varianten. danke euch, habs durch nen studikolegen rausgefunden, das mit M_PI kannte allerdings keinder, kann ich durch AT punkten :D

lieben dank
 
Zuletzt bearbeitet:

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Leicht OT: Hier noch eine C-Kurzschreibweise von Pi:
Code:
long a=1e4,d,h; unsigned b,c=21014,e,f[21014],g,i;
main(){for(;b=c,c-=14; i=printf("%04d",e+d/a),e=d%a)
  while(--b) d=h*b+a*(i?f[b]:a/5), g=b*2-1, h=d/g, f[b]=d-h*g;}
:-D
 

MoNchHiChii

Kronprinz Rudolf von Österreich
Registriert
03.12.07
Beiträge
1.892
Leicht OT: Hier noch eine C-Kurzschreibweise von Pi:
Code:
long a=1e4,d,h; unsigned b,c=21014,e,f[21014],g,i;
main(){for(;b=c,c-=14; i=printf("%04d",e+d/a),e=d%a)
  while(--b) d=h*b+a*(i?f[b]:a/5), g=b*2-1, h=d/g, f[b]=d-h*g;}
:-D

das würd mein prof mir ned abkaufen :D
 

nic

Bismarckapfel
Registriert
18.01.06
Beiträge
141
Also ich würde noch acos(-1) anbieten ...