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.


Anmelden zum Antworten