Untitled

 avatar
unknown
c_cpp
5 months ago
3.3 kB
3
Indexable
#include <cmath>
#include <iostream>

using namespace std;

void obliczGraniastoslupTrapezowy();
void obliczOstroslupProstokatny();
void obliczWalec();

int main()
{
    int wybor;

    // Menu wyboru bryly
    cout << "Wybierz bryle do obliczen:" << endl;
    cout << "1. Graniastoslup prosty o podstawie trapezu rownoramiennego" << endl;
    cout << "2. Ostroslup prosty o podstawie prostokata" << endl;
    cout << "3. Walec" << endl;
    cout << "Wybierz numer: " << endl;
    cin >> wybor;

    if( wybor == 1 )
    {
        obliczGraniastoslupTrapezowy();
    }
    else if( wybor == 2 )
    {
        obliczOstroslupProstokatny();
    }
    else if( wybor == 3 )
    {
        obliczWalec();
    }
    else
    {
        cout << "Nie ma takiej opcji!\n";
    }

    return 0;
}

void obliczGraniastoslupTrapezowy()
{
    double a, b, ramie_trapezu, h_podstawa, h_graniastoslup;

    // Wczytywanie danych
    cout << "Podaj dlugosc podstawy krotszej trapezu: ";
    cin >> a;
    cout << "Podaj dlugosc podstawy dluszej trapezu: ";
    cin >> b;
    cout << "Podaj dlugosc ramienia trapezu: ";
    cin >> ramie_trapezu;
    cout << "Podaj wysokosc trapezu (odleglosc miedzy podstawami): ";
    cin >> h_podstawa;
    cout << "Podaj wysokosc graniastoslupa: ";
    cin >> h_graniastoslup;

    // Obliczenia
    double pole_podstawy = ( a + b ) * h_podstawa / 2.0;
    double pole_boczne = ( a + b + 2 * ramie_trapezu ) * h_graniastoslup;
    double pole_calkowite = 2 * pole_podstawy + pole_boczne;
    double objetosc = pole_podstawy * h_graniastoslup;

    // Wyświetlenie wyników
    cout << "Graniastoslup trapezowy:\n";
    cout << "Pole powierzchni calkowitej: " << pole_calkowite << endl;
    cout << "Objetosc: " << objetosc << endl;
}

void obliczOstroslupProstokatny()
{
    double a, b, h_ostroslupa;

    // Wczytanie danych
    cout << "Podaj dlugosc boku prostokata: ";
    cin >> a;
    cout << "Podaj szerokosc prostokata: ";
    cin >> b;
    cout << "Podaj wysokosc ostroslupa: ";
    cin >> h_ostroslupa;

    // Obliczenia
    double pole_podstawy = a * b;
    double pole_boczne =    2 * ( a * sqrt( pow( h_ostroslupa, 2 ) + pow( b / 2.0, 2 ) ) ) +
                            2 * ( b * sqrt( pow( h_ostroslupa, 2 ) + pow( b / 2.0, 2 ) ) );
    double pole_calkowite = pole_podstawy + pole_boczne;
    double objetosc = ( 1.0 / 3.0 ) * pole_podstawy * h_ostroslupa;

    // Wyświetlenie wyniku
    cout << "Ostroslup prostokatny:\n";
    cout << "Pole powierzchni calkowitej: " << pole_calkowite << endl;
    cout << "Objetosc: " << objetosc << endl;
}

void obliczWalec()
{
    double r, h_walec;

    // Wczytanie danych
    cout << "Podaj promien podstawy walca: ";
    cin >> r;
    cout << "Podaj wysokosc walca: ";
    cin >> h_walec;

    // Obliczenia
    double pole_podstawy = M_PI * pow( r, 2 );
    double pole_boczne = 2 * M_PI * r * h_walec;
    double pole_calkowite = 2 * pole_podstawy + pole_boczne;
    double objetosc = pole_podstawy * h_walec;

    // Wyświetlenie wyników
    cout << "Walec:\n";
    cout << "Pole powierzchni calkowitej: " << pole_calkowite << endl;
    cout << "Objetosc: " << objetosc << endl;
}
Editor is loading...
Leave a Comment