Krijg 0 uit of NaN in een berekening

Status
Niet open voor verdere reacties.

sdehaas

Gebruiker
Lid geworden
16 dec 2008
Berichten
44
Hallo,

we moeten voor informatica een programma maken als werkstuk, zonder enige voorkennis met vb.net (nieuwe leraar die denkt dat we alles al kunnen terwijl we vorige jaren niks deden ) Nu wil ik dus een programma maken dat de x waarden en discriminant berekend aan de hand van een kwadratische vergelijking. (ABC-Formule)

maar ik krijg als uitkomst 0 of NaN. kan iemand me helpen? ik denk dat het hem ergens misschien zit in converteren van de waarden naar integer of double e.d. maar weet niet hoe dat moet. (code staat hieronder)

ALVAST HEEL ERG BEDANKT!.

Sander




Public a As Integer
Public b As Integer
Public c As Integer
Public d As Integer
Public x1 As Double
Public x2 As Double




Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox5.Text = x1
TextBox6.Text = x2
TextBox4.Text = d

CalcX()
x1 = (-b - ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a))
x2 = ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a)


End Sub
Public Sub Calcd()

d = (b ^ 2) - (4 * a * c)
End Sub



Public Sub CalcX()

a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text

x1 = (-b - ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a))
x2 = ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a)

End Sub
 
x1 = (-b - ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a))
x2 = ((b ^ 2) - (4 * a * c)) ^ 0.5 / (2 * a)


de abc forumlue =
(-b +/- de wortel van (b^2-(4*a*c)))/(2*a)
nu klopt je formule voor geen kant.
x1= ((-b)+((b^2)-(4*a*c*))^0,5)/(2*a)
x2= ((-b)-((b^2)-(4*a*c*))^0,5)/(2*a)

probeer het dan nog is.
 
hahah sorry schoonheidsfoutje :P iets te snel geweest ik heb het al goed veranderd.

maar nee het is nog altijd hetzelfde, of 0 of NaN .
Ik denk dat ik ergens nog moet terugkoppelen dat het een double is en niet een string ofzo. maar ik weet niet waar en hoe.

mvg,

Sander
 
Hallo mathijs, dankje voor de reactie maar het werkt nog steeds niet :( nog een suggestie?
 
Wat het kan zijn is dat de waarden in a,b,c niet goed zijn, wil je die eens vullen met een getal alleen niet vanuit de textfields maar in de code even zetten

Integer A = 4
 
Nou het kan toch elk getal zijn? dus 4 of 5 of 3 maakt niks uit? of hoe bedoelt u?
 
Please, geen u, im just 18 you kno's :)

Ja hoor dat mag elk getal zijn, als het maar in de code staat en niet wordt uitgelezen uit de tekstvelden.
 
Het is me gelukt !:thumb:
alleen moet ik een paar keer op de knop klikken voordat hij de goede uitkomst geeft. als ik daarna weer nieuwe waardes invoer is het antwoord onjuist! net alsof hij verder gaat met de vorige waarden.

kan iemand me tevens vertellen waarom ik een groen streepje onder End Function krijg als ik een function wil maken voor die formules? iets doe ik fout

Voorbeeld

Public Function calcd() as Double

End Function





de code is nu:




Public a As Integer
Public b As Integer
Public c As Integer
Public d As Integer
Public x1 As Double
Public x2 As Double




Public Sub CalcX()

a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text

x1 = (-b) - (d ^ 0.5) / (2 * a)
x2 = (-b) + (d ^ 0.5) / (2 * a)

End Sub

Public Sub Calcd()

d = (b ^ 2) - (4 * a * c)
End Sub

Private Sub calcbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles calcbtn.Click

TextBox5.Text = x1
TextBox6.Text = x2
TextBox4.Text = d

'formule van de x waarden

CalcX()

x1 = (-b) - (d ^ 0.5) / (2 * a)
x2 = (-b) + (d ^ 0.5) / (2 * a)



Calcd()

d = (b ^ 2) - (4 * a * c)

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan