Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: C: Yllätys testauksessa

jormi [13.04.2008 10:22:48]

#

Testissä tuli vastaan yllätys. modf() muuttaa negatiivisten radiaanien kokonaisosat positiivisiksi ja jättää jakojäännöksen negatiiviseksi. Miten korjaan tämän siten, että funktio käsittelee myös negatiiviset radiaanit oikein ? JVM.

#include <math.h>

struct OSA
{
	double rad;
	double aste;
	double min;
	double sek;
}testiosa;

/* Radiaanit asteiksi, minuuteiksi ja sekunneiksi */
void Radtodeg( struct OSA *osa )
{
	double aste, min, sek, kokaste, kokmin;
	aste = testiosa.rad * 180/M_PI;
	min = modf( aste, &kokaste );
	osa->aste = kokaste;
	min = min * 60;
	sek = modf( min, &kokmin );
	osa->min = kokmin;
	osa->sek = sek * 60;
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta