Toon posts:

[VB.Net] Rekenen met een som in de vorm van een String

Pagina: 1
Acties:
  • 123 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met een programmatje dat een String invoer nodig heeft en hier dan mee gaat rekenen. De String invoer moet in de vorm van zijn "45+45" of "12-6", zolang het maar een som is. De String wordt netjes uit elkaar gehaald en verwerkt zodat er een mooie som komt te staan, maar er wordt niet mee gerekend. ik zal hieronder de code neerzetten:

code:
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
31
32
33
34
35
36
37
38
39
40
41
Private Sub btnBereken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBereken.Click

        Dim Som, Operator, Getallen() As String
        Dim Index, Index2 As Integer

        Som = txtSom.Text

        For Index = 0 To Som.Length - 1
            If Som.Substring(Index, 1) = "+" Or Som.Substring(Index, 1) = "-" Or _
             Som.Substring(Index, 1) = "*" Or Som.Substring(Index, 1) = "/" Then
                Operator = Som.Substring(Index, 1)
                Getallen = Split(Som, Operator)
                Operator = Operator.Trim
                For Index2 = 0 To UBound(Getallen) - 1
                    Getallen(Index2) = Getallen(Index2).Trim
                    If IsNumeric(Getallen(Index2)) = False Then
                        MessageBox.Show("Dit is geen geldige som !")
                        Exit Sub
                    End If
                Next
                Berekenen(Getallen, Operator)
                Exit Sub
            End If
        Next

    End Sub

    Private Function Berekenen(ByVal Getallen() As String, ByVal Operator As String) As Integer

        Dim Uitkomst, Som, Index, Temp As Integer

        Temp = CInt(Getallen(0))

        For Index = 1 To UBound(Getallen) - 1
            Uitkomst = Uitkomst + CInt(Temp & " " & Operator & " " & Getallen(Index))
        Next

        MessageBox.Show(Temp & " " & Operator & " " & Getallen(Index))
        MessageBox.Show(CStr(Uitkomst))

    End Function


Iemand enig idee wat ik over het hoofd zie ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:06
Hoi,

Het is niet de bedoeling dat wij jouw code gaan debuggen, dat is iets wat je zelf moet doen.
Wat er fout gaat, kan je, als je logisch nadenkt, in één oogopslag zien, en dat is in regel 35.
Het is toch onlogisch dat je een string met een + of een - in gaat gaan converten ?

CInt kan die som echt niet voor jou maken.

https://fgheysels.github.io/


Dit topic is gesloten.