• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> 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 ...