• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

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
 
Warum benutzt du nicht M_PI?
 
sry ich weiß es nicht einzusetzen. es klappt in meinem gebilde nicht.
 
Code:
Umfang=2*M_PI*r;
Was geht denn nicht?
 
Dein Code läuft bei mir ohne meckern...
 
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:
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
 
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
 
Also ich würde noch acos(-1) anbieten ...