Kegel berechnen
-
Hallo,
ich suche einen Quellcode für C++ um einen Kegel zu berechnen. Gleich vorweg ich kenn mich mit der Programmierung nicht aus!!!
Kann ich diesen Quellcode verwenden???
#include <iostream> #include <math.h> using namespace std; int main(int argc, char* argv[]) { if( argc != 3 ) { cout << "usage: kegel [hoehe] [radius]" << endl; exit( -1 ); } const float pi = 3.141592654; float h; float r; float s; float vol; float oberfl; float mantel; h = atoi( argv[ 1 ] ); r = atoi( argv[ 2 ] ); s = sqrt( ( r * r ) + ( h * h ) ); vol = ( ( pi / 3 ) * ( ( r * r ) / h ) ); oberfl = ( pi * r * ( r + s ) ); mantel = ( pi * r *s ); cout << "Volumen: " << vol << endl; cout << "Oberflaeche: " << oberfl << endl; cout << "Mantel: " << mantel << endl; return 0; }
-
eigentlich schon
-
Vol falsch! Zu viele Klammern. double sinnvoller als float.
Hier eine Variante mit cin.#include <iostream> #include <conio.h> #include <cmath> using namespace std; int main() { const double pi = 3.141592654; double h,r,s,vol,oberfl,mantel; cout << "Kegelberechnung" << endl << endl; cout << "Hoehe: "; cin >> h; cout << "Radius: "; cin >> r; s = sqrt( ( r * r ) + ( h * h ) ); vol = ( pi / 3.0 * r * r * h ); oberfl = ( pi * r * ( r + s ) ); mantel = ( pi * r * s ); cout << endl; cout << "Volumen: " << vol << endl; cout << "Oberflaeche: " << oberfl << endl; cout << "Mantel: " << mantel << endl; getch(); }
Man könnte auch noch mehr berechnen, damit sich das Programm lohnt:
s = sqr(r²+h²)
alpha = 360°·r/s
u = 2·r·pi
O = pi·r·(r+s)
V = pi·r²·h/3
B = pi·r²
M = pi·s·r
beta = acos(alpha/360°)
-
es ist nicht voll falsch sondern richtig du hast es nur optimiert aber das war nicht die frage stellung ! Zuviele Klammern gibts imho net !
-
Sind immernoch zuviele Klammern :p
s = sqrt(r * r + h * h); vol = pi / 3.0 * r * r * h; oberfl = pi * r * (r + s); mantel = pi * r * s;
-
Oben war die Formel für das Volumen falsch.