Voor een schoolopdracht moet ik een C programmaatje schrijven dat aan de commandline 3 floats als input vraagt, en er vervolgens de abc-formule op los laat.
Omdat ik moet machtsverheffen en worteltrekken heb ik math.h ge-include.
Ter illustratie de bijbehorende code:
Het vreemde is, dat de pow wel werkt in de functie discriminant, maar in de functie bereken krijg ik een foutmelding: undefined reference to 'sqrt'. Vervang in dit door 'pow' (zinloos, maar je weet nooit), dan is pow ineens ook een undefined reference geworden. Ik snap er helemaal niets van, omdat ik math.h netjes ge-include heb, en 't werkt weer wel in de functie determinant
Iemand een idee?
Omdat ik moet machtsverheffen en worteltrekken heb ik math.h ge-include.
Ter illustratie de bijbehorende code:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| #include <stdio.h> #include <math.h> float discriminant(float, float, float); void bereken(float, float, float, float*, float*, float*); main(){ float input1, input2, input3; float a1, a2, d; printf("Voer 3 float-getallen in:\n"); scanf("%f %f %f", &input1, &input2, &input3); bereken(input1, input2, input3, &a1, &a2, &d); printf("Discriminant is: %.2f\n",d); } float discriminant(float a, float b, float c){ return pow(b,2) - 4*a*c; } void bereken(float a, float b, float c, float *getalA, float *getalB, float *D){ *D = discriminant(a,b,c); if(*D == 0){ *getalA = (-1*b + sqrt(*D))/(2*a); } if(*D > 0){ *getalA = (-1*b + sqrt(*D))/(2*a); *getalB = (-1*b - sqrt(*D))/(2*a); } } |
Het vreemde is, dat de pow wel werkt in de functie discriminant, maar in de functie bereken krijg ik een foutmelding: undefined reference to 'sqrt'. Vervang in dit door 'pow' (zinloos, maar je weet nooit), dan is pow ineens ook een undefined reference geworden. Ik snap er helemaal niets van, omdat ik math.h netjes ge-include heb, en 't werkt weer wel in de functie determinant
Iemand een idee?