Witam, po długim czasie siedzenia nad poprawnym rozwiązaniem i niemożnością znalezienia poprawnej odpowiedzi zwracam się do Państwa z prośbą o sugestię.
Problem najprawdopodobniej tkwi gdzieś w instrukcji warunkowej "if". Program się poprawnie kompiluje, jednak zawsze wykonuje instrukcje, które powinny być wykonane przy spełnieniu warunku pierwszego.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
string wybor;
int i, promien;
cout<<"OBLICZANIE POLA POWIERZCHNI LUB OBJETOSCI KULI"<<endl;
cout<<"Podaj wartosc dlugosci promienia: "<<endl;
cin>>promien;
cout<<"Co chcesz policzyc? Jesli Pole - wcisnij 1 lub p, jesli objetosc - wcisnij 2 lub v. Odpowiedz zatwierdz naciskajac 'Enter'."<<endl;
for (i=1; i<2; i++)
{ cin>>wybor;
if (wybor == "p" || 1)
{
cout<<"Pole powierzchni kuli o promieniu "<<promien<<" jest rowne: "<<(4 * M_PI * (promien*promien))<<".";
i++;
}
else if (wybor == "v" || 2)
{
cout<<"Objetosc kuli o promieniu "<<promien<<" jest rowne: "<<(4/3 * M_PI * (promien*promien*promien))<<".";
i++;
}
else
{
cout<<"Bledny wybor! Sprobuj ponownie."<<endl;
}
}
}