Taschenrechner Code (Hilfe)

06/19/2014 22:20 Scooby-Doo111#1
Guten Abend,

also ich bin gerade dabei c++ zu lernen.
Jetzt habe ich mich mal an einem Taschenrechner versucht, soweit hat auch alles geklappt nur hab ich noch folgende Probleme:

1. Die ( ) Funktion geht nicht.
2. Wenn man in den Taschenrechner eine Zahl eingibt und dann ein Rechenoperator Auswählt verschwindet diese.
Ich hätte es aber gern so, dass in der TextBox 1+1 steht.
3. Die Funktion % Funktioniert noch nicht.

Hier wäre mein Code, würde mich über Hilfe freuen.:rolleyes:



Code:
Option Explicit On
Public Class Form1
    Dim X As Double
    Dim FirstNumber As Single
    Dim SecondNumber As Single
    Dim AnswerNumber As String
    Dim ArithmeticProcess As String


    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

        Try
            X = Convert.ToDouble(TextBox1.Text)
        Catch ex As Exception
            TextBox1.Text = ""
            X = 0
        End Try
    End Sub

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        TextBox1.Text = Math.Ceiling(X)
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        TextBox1.Text = Math.Floor(X)
    End Sub

    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        TextBox1.Text = Math.Round(X)
    End Sub

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        TextBox1.Text = Math.Truncate(X)
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        TextBox1.Text = ""
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.Text.Length - 1)
    End Sub

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        TextBox1.Text = X * -1.0
    End Sub

    Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
        TextBox1.Text = 1.0 / X
    End Sub

    Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        TextBox1.Text = Math.PI
    End Sub

    Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click
        TextBox1.Text = Math.E
    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        TextBox1.Text = TextBox1.Text & "0"
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        TextBox1.Text = TextBox1.Text & "1"
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        TextBox1.Text = TextBox1.Text & "2"
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        TextBox1.Text = TextBox1.Text & "3"
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        TextBox1.Text = TextBox1.Text & "4"
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        TextBox1.Text = TextBox1.Text & "5"
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        TextBox1.Text = TextBox1.Text & "6"
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = TextBox1.Text & "7"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TextBox1.Text = TextBox1.Text & "8"
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        TextBox1.Text = TextBox1.Text & "9"
    End Sub

    Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
        TextBox1.Text = Math.Sqrt(X)
    End Sub

    Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
        TextBox1.Text = X / X * X
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        TextBox1.Text = TextBox1.Text & "."
    End Sub

    Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
        FirstNumber = Val(TextBox1.Text)
        TextBox1.Text = ""
        ArithmeticProcess = "+"
    End Sub

    Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click
        FirstNumber = Val(TextBox1.Text)
        TextBox1.Text = ""
        ArithmeticProcess = "-"
    End Sub

    Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click
        FirstNumber = Val(TextBox1.Text)
        TextBox1.Text = ""
        ArithmeticProcess = "*"
    End Sub

    Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
        FirstNumber = Val(TextBox1.Text)
        TextBox1.Text = TextBox1.Text & "/"
        ArithmeticProcess = "/"
    End Sub
    Private Sub Button29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button29.Click
        TextBox1.Text = TextBox1.Text & "("
    End Sub

    Private Sub Button30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button30.Click
        TextBox1.Text = TextBox1.Text & ")"
    End Sub

    Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click
        SecondNumber = (TextBox1.Text)
        If ArithmeticProcess = "+" Then
            ArithmeticProcess = FirstNumber + SecondNumber

        ElseIf ArithmeticProcess = "-" Then
            ArithmeticProcess = FirstNumber - SecondNumber

        ElseIf ArithmeticProcess = "*" Then
            ArithmeticProcess = FirstNumber * SecondNumber

        ElseIf ArithmeticProcess = "/" Then
            ArithmeticProcess = FirstNumber / SecondNumber

        End If
        TextBox1.Text = ArithmeticProcess
    End Sub
End Class
06/19/2014 22:34 snow#2
Quote:
Originally Posted by Scooby-Doo111 View Post
also ich bin gerade dabei c++ zu lernen.
[...]
Code:
Option Explicit On
Public Class Form1
    Dim X As Double
    Dim FirstNumber As Single
    Dim SecondNumber As Single
    Dim AnswerNumber As String
    Dim ArithmeticProcess As String
[...]
Tut mir leid, aber dich hat da jemand verarscht. Das ist kein C++.

Quote:
2. Wenn man in den Taschenrechner eine Zahl eingibt und dann ein Rechenoperator Auswählt verschwindet diese.
Ich hätte es aber gern so, dass in der TextBox 1+1 steht.
Schau dir mal die Funktionen Button24-27_Click dafür an.
06/19/2014 23:50 Scooby-Doo111#3
Was ist das dann?
Über dem TuT mit den Grundlagen für den Rechner stand halt c++.....
Und zu den Button 24-27
Meinst du das mit dem
FirstNumber = Val(TextBox1.Text)
TextBox1.Text = TextBox1.Text & "/"
ArithmeticProcess = "/"
06/20/2014 00:13 ​Tension#4
Visual Basic.

Du überschreibt bei den Buttons von 24-26 den Text anstatt das Zeichen hinzuzufügen.
Und was meinst du mit % ? Prozent oder Modulo?
06/20/2014 01:23 Scooby-Doo111#5
Meine Prozent :)

ah und mit den Buttons mach ich es nun so
My.Settings.Zahl = TextBox1.Text
TextBox1.Text = abc & "+"
My.Settings.Rechenzeichen = "+"

Jetzt kann man ma 1+1 z.B. eingeben, jedoch ab der dritten Zahl verschwindet logischerweise alles wieder..... könnt mir da einer sagen wie ich das dann bei dem Rot Makierten ändern muss, sodass man belieb oft eine Zahl mit verschiedenen Rechenzeichen eingeben kann und die bei der Textausgabe wie gewohnt da stehn ?
(1+2+3+4-43-44*222+111111/3)
06/20/2014 11:58 .Marcel'#6
Quote:
Originally Posted by Scooby-Doo111 View Post
Meine Prozent :)

ah und mit den Buttons mach ich es nun so
My.Settings.Zahl = TextBox1.Text
TextBox1.Text = abc & "+"
My.Settings.Rechenzeichen = "+"

Jetzt kann man ma 1+1 z.B. eingeben, jedoch ab der dritten Zahl verschwindet logischerweise alles wieder..... könnt mir da einer sagen wie ich das dann bei dem Rot Makierten ändern muss, sodass man belieb oft eine Zahl mit verschiedenen Rechenzeichen eingeben kann und die bei der Textausgabe wie gewohnt da stehn ?
(1+2+3+4-43-44*222+111111/3)
TextBox1.Text +=
06/20/2014 19:25 dowhile#7
Du hast also keine Ahnung von der Sprache (kennst nicht einmal den Namen, kennst keine absolute Grundlagen wie "Operatore") und will dann einen Taschenrechner mit Oberfläche und Parser für die Ausdrücke programmieren? Das musst du doch selbst irgendwie dumm finden.