03. februar 2002 - 02:34
Der er
10 kommentarer og 1 løsning
Brug af DegToRad
Hei... Jeg har brug for at vide hvorfor man bruger DegToRad() fra math.h (og den er blevet include't) Jeg har prøvet DegToRad( double grader ) og grader.DegToRad(), men uden held... Hvad gør jeg forkert? På forhånd tak... fra en newbie...
Annonceindlæg fra Computerworld
03. februar 2002 - 02:51
#1
Vis os noget af din kode. Mener du hvorDAN man bruger den, eller hvorFOR ?
03. februar 2002 - 02:55
#2
Men ellers bruger man den som double a = 180; double b; b = DegToRad(a); // b er nok lig med pi = 3.1415927 ca
03. februar 2002 - 03:16
#3
how... det er oxe lidt sent.... jeg mente hvordan... jeg har lige prøvet dit forslag, erik. men uden held... her er min kode... kan ikke lige gennemskue hvad jeg gør forkert... void TreDPunkt::drej( double grader, char akse ) { double radian; radian = DegToRad( grader ); cout <<"r:" <<radian <<" g:" <<grader <<endl; switch( akse ) { case 'x': y = y*cos( grader ) - z*sin( grader ); z = y*sin( grader ) + z*cos( grader ); visKoordinat(); break; case 'y': x = x*cos( grader ) + z*sin( grader ); z = (-1*x)*sin( grader ) + z*cos( grader ); visKoordinat(); break; case 'z': x = x*cos( grader ) - y*sin( grader ); y = x*sin( grader ) + y*cos( grader ); visKoordinat(); break; } }
03. februar 2002 - 03:23
#4
how... det er vist sent... det rigtige kode er void TreDPunkt::drej( double grader, char akse ) { double radian; radian = DegToRad( grader ); switch( akse ) { case 'x': y = y*cos( radian ) - z*sin( radian ); z = y*sin( radian ) + z*cos( radian ); visKoordinat(); break; case 'y': x = x*cos( radian ) + z*sin( radian ); z = (-1*x)*sin( radian ) + z*cos( radian ); visKoordinat(); break; case 'z': x = x*cos( radian ) - y*sin( radian ); y = x*sin( radian ) + y*cos( radian ); visKoordinat(); break; } } og jeg får fejlen "call to undefined function 'DegToRad'" og jeg bruger Borland C++ Builder 5.02 pro....
03. februar 2002 - 03:29
#5
Hmm, i rigtig gammel C var det jo bare en makro. Måske du skal radian = DEGTORAD( grader );
03. februar 2002 - 03:39
#6
Får stadig den samme fejl....
03. februar 2002 - 03:42
#7
har lige siddet og kigget i math.h og jeg kan ikke engang finde funktionen der.... som er den er blevet depricated.... strange
03. februar 2002 - 08:06
#8
Ok, jamen så går vi da bare som i gamle dage, men definerer den selv: #define DEGTORAD(x) ((x)*0.01745329251994329576)
03. februar 2002 - 13:01
#9
Tak erik det hjalp.... men hvordan kan det være at du ikke behøves at forklare #define funktionen at den skal tage en double.... eller er det bare lige meget? og hvordan kan det være at man heller ikke behøves at sige at den skal have en return type?
03. februar 2002 - 13:28
#10
Med #define laver du ikke en funktion, men en makro, der bare bliver sat ind rent tekstuelt. Det er lidt af et "hack" fra gamle dage - dengang ingen vidste hvad Java, Internet, og eksperten.dk var for noget...
03. februar 2002 - 14:00
#11
Tak for hjælpen... så lærte jeg oxe lidt idag....hehheh
Kurser inden for grundlæggende programmering