A mozna dokładniej?
Domyślam sie ze chodzi o kąt “beta”.
– Dodane 15.07.2009 (Śr) 21:12 –
Prosze o wyrozumiałość dla osoby dopiero co uczącej sie języka C
Posiedziałem razem z kumplem i wyszedł nam taki programik. Jednak są błędy w wynikach. np pojawia sie coś takiego “-1.#IND”. Nie wiem jaki jest warunek wtedy kiedy koła są odkryte całkowicie.
Moze ktoś ma jakies sugestie albo pomysły?
Wrzucam program:
#include
#include
#include
using namespace std;
const float p1 = 3.14;
float wzor(float r1,float alfa)
{
float pole;
pole = (p1 * r1 * r1 * (360 - alfa))/360 + ((r1*r1*sin(alfa))/2);
return pole;
}
float kat(float r2,float r3)
{
float beta;
beta = asin(r3/(r2+r3));
return beta;
}
float obl(float k,float r2,float r3)
{
float q,w;
q=sin(k)*(r2+r3);
q = q/r3;
q = 2 * acos(q);
w = wzor(r3,q);
return w;
}
int main(int argc, char *argv[])
{
float A, B, r, h, Pol1,Pol2,rm;
r = 4.5;
rm = 3;
cout<<"Podaj kat przesuniecia blaszki: "<
cin >> B;
if(B>=kat(rm,r) && B<=180-kat(rm,r))
{
cout<<"Okrag pierwszy jest zakryty w calosci"<
cout<
}
else
{
if(B==0)cout<<"Pole zakrytej czesci pierwszego kola wynosi: "<
else
{if(B<90)Pol1=obl(B,rm,r);
if(B>90 && B<180){B=180 - B; Pol1=obl(B,rm,r);}
if(B>180){B=B-180; Pol1=obl(B,rm,r);}
cout<<"Pole zakrytej czesci pierwszego kola wynosi: "<
}
if(B<=310-kat(rm,r) && B>=130+kat(rm,r))
{
cout<<"Okrag drugi jest zakryty w calosci"<
cout<
}
else
{
if(B==130)cout<<"Pole zakrytej czesci drugiego kola wynosi: "<
else
{
if(B<130){B=130-B;Pol2=obl(B,rm,r);}
if(B>130 && B<310-kat(rm,r)){B=B-130;Pol2=obl(B,rm,r);}
if(B>310-kat(rm,r) && B<310){B=310-B;Pol2=obl(B,rm,r);}
if(B>310){B=B-310;Pol2=obl(B,rm,r);}
cout<<"Pole zakrytej czesci drugiego kola wynosi: "<
}
}
system("PAUSE");
return EXIT_SUCCESS;
}