funktion: kreisberechnung als tabelle
-
hallo zusammen,
ich möchte folgendes realisieren: ich möchte eine tabelle mit verschiedenen kreisberechnungen (radien) durchführen und diese untereinander ausgeben. ausgabe stelle ich mir so vor:
Radius | Umfang | Flaeche
0.000 x.xxx x.xxx etc.meine bisherife idee:
#include<stdio.h> float const PI=3.14; void ktabelle(float, float, float);/*Prototyp Funktion*/ void main(){ float minRad = 0.000; /*kleinster Radius*/ float maxRad = 2.000; /*größter Radius*/ float schritte = 0.200; /*Schrittweite der Radien*/ printf("\n%-10s | %-10s | %-10s", "Radius", "Umfang", "Fläche");/*geht das??*/ printf("\n_______________________\n); ktabelle(minRad,maxRad,schritte); /*sollen Funktion übergeben werden*/ return 0; }/*main*/ void ktabelle(float min,float max,float rad){ float flaeche; float umfang; float radius; ...
und an der Stelle gehts los mit der großen Ratlosigkeit. Für die Berechnungen brauche ich ja jeweils den aktuellen radius*radius*PI als Fläche und 2.0*aktuellen Radius*PI als Umfang. wie kann ich es hinbekommen, dass der radius von 0.000 mit den 0.200 schrittweite bis 2.000 immer zur Berechnung herangezogen wird? Könnte es so ähnlich aussehen:
for(radius=min,radius<=max,radius + schritt){}
??? Für Anregungen, Idee, Hinweise auf Denkfehler wäre ich sehr dankbar!
Grüße, j.
}
-
Hi,
es kann so gemacht werden:
void ktabelle(float min, float max, float schritt) { float flaeche; float umfang; float radius; for(radius = min, radius <= max, radius += schritt) { //Berechnungen //Ausgabe } }
-
printf("\n%-10s | %-10s | %-10s", "Radius", "Umfang", "Fläche");/*geht das??*/
Yepp.
float const PI=3.14;
Ist das eigentlich ANSI C konform. Ich glaube mich zu erinnern, dass es im Std. keine Konstanten gibt und man die ganze Sache lieber als
#define PI 3.14
vereinbaren sollte.
-
Richard schrieb:
float const PI=3.14;
Ist das eigentlich ANSI C konform. Ich glaube mich zu erinnern, dass es im Std. keine Konstanten gibt und man die ganze Sache lieber als
#define PI 3.14
vereinbaren sollte.
natürlich ist es standardkonform.
nur ist const in C nicht so const wie in C++. Deshalb sind idR #defines besser.
-
sind defines typenlos?
-
MasterCounter schrieb:
sind defines typenlos?
Ein #define macht eigentlich nicht mehr als Text durch anderen Text zu ersetzen.
-
also im prinzip ein const char*
-
MasterCounter schrieb:
sind defines typenlos?
Jap.
Die entsprechenden Stellen im Quellcode werden vor dem Complieren ersetzt.
Es ist also auch so etwas möglich(, aber hässlich).#define a + int x = 5 a 3;
-
und warum soll man dann lieber defines statt const verwenden??