[C++] Radiany na stopnie, minuty i sekundy

Czesc,

Chcialbym się zapytać czy dobrze robię zamianę wielkosci kąta w radianach na stopnie, minuty i sekundy:

#include

#include

stopnie = 180 * radians / M_PI;

Aha, zapomniałem dodać, że stopnie, minuty i sekundy potrzebuję własnie w int, stąd to rzutowanie jakby coś.

Czyli niedokładności wyrzucane przez program wynikają tylko z winy mojej za krótkiej liczby pi ?

jak chcesz mieć w minutach i sekundach to:

int stopnie=180*60*60*radians/M_PI+0.5;

int sekundy=stopnie%60; stopnie/=60;

int minuty=stopnie%60; stopnie/=60;

dzięki, a dlaczego ostatnia instrukcja

stopnie/=60; [/code]

jest konieczna ?

tak, bo masz te stopnie pomnożone dodatkowo na 60*60 więc koniecznie jest dwa razy podzielić przez 60.

Czy wobec tego tutaj jest błąd:

http://www.unitconversion.org/angle/rad … rsion.html

Przy 67 radianach, ta strona daje mi 230329 a program 49…

Kod programu:

#include

Po pierwsze 67 radian to jakieś 20 obrotów.

weź sensowne dane np: pi/2 = 90 stopni

1.5707963

program daje 90’00’00

a strona daje:

5399.999907886

z tym że napisano tam że podaje w minutach:

90*60=5400

Podsumowując strona oblicza poprawnie lecz z niską dokładnością.