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ź:
#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;
}