Dzień dobry
Potrzebuję na dzisiaj Pozdrawiam
Język C++
Napisać program, który będzie przyjmował od użytkownika 4 liczby typu float ("A", "B", "C"
oraz "H"), będące parametrami ostrosłupa o podstawie trójkąta. Liczby A, B i C niech określają
długości krawędzi podstawy ostrosłupa, natomiast H jego wysokość. Program ma również
przyjmować od użytkownika znak: "P" lub "V" który będzie informował czy chcemy obliczyć
pole powierzchni podstawy ostrosłupa czy też jego objętość (jedno lub drugie). Program
powinien również wyświetlać stosowny komunikat jeśli użytkownik poda jakiś inny,
nieoczekiwany znak. Obliczanie pola powierzchni podstawy oraz objętości musi być realizowane
za pomocą dwóch niezależnych funkcji, które należy zdefiniować i które będą wywoływane
w programie głównym.


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <cmath>

using namespace std;

float poletrojkata(float a, float b, float c){

   float p = (a+b+c)/2;

   return sqrt(p*(p-a)*(p-b)*(p-c));

}

float pole(float a,float b,float c,float h){

   return a*h+b*h+c*h+poletrojkata(a,b,c);

}

float objetosc(float a,float b,float c,float h){

   return poletrojkata(a,b,c)*h/3;

}

int main()

{

   float a,b,c,h;

   cout << "podaj a,b,c,h\n";

   cin >> a >> b >> c >> h;

   cout << "pole(P) czy objetosc(V)\n";

   string poleCzyObjetosc;

   cin >> poleCzyObjetosc;

   if (poleCzyObjetosc == "P")

       cout << "pole to: " << pole(a,b,c,h);

   else if (poleCzyObjetosc == "V")

       cout << "objetosc to: " << objetosc(a,b,c,h);

   else

       cout << "bledne dane!\n";

   return 0;

}