Wie schreibe ich ein "und" bei VB

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von FreakJNS.

    Wie schreibe ich ein "und" bei VB

    Hallo zusammen,
    bin neu hier also bitte entschuldigt wenn ich am falschen Ort poste.
    Ich muss für die Uni eine Praktikumsaufgabe machen, nämlich einen pq-Formel, bzw. abc-Formel Rechner erstellen. Ich hatte vorher noch nie was mit Info zutun, deshalb habe ich im Grunde keine Ahnung.
    Die Programme sind soweit fertig und funktionieren auch, mit viel lesen im Internet hab ich alle zusammenbekommen. Allerdings gibts noch eine kleine Zusatzaufgabe:
    Erweitern Sie das Programm für die abc-Formel so, dass auch komplexe Lösungen ausgegen werden können.

    Dazu habe ich mir gedacht, dass ich eine if Anweisung machen, die sagt, dass wenn der Term innerhalb der Wurzel kleiner als Null ist, dieser *(-1) genommen werden soll und noch ein *j hinzugefügt werden soll.
    Also Wurzel (-5) = Wurzerl(5)*j
    Bis zu dem *(-1) hab ichs auch schon, wie ich allerdings das *j noch mit ins Textfeld bekomme weiß ich nicht. Habe gedacht, dass man vielleicht ein "und" hinter den Befehl fürs *(-1) macht und dann "*j" aber soeinen Befehlt gibt es nicht oder? Irgendwer eine passende Idee?

    Bisher sieht das Ganze so aus:
    If ... < 0 Then TextBox10.Text = ((((-(Val(TextBox5.Text))) + (((Val(TextBox5.Text) ^ 2) - (4 * (Val(TextBox4.Text)) * (Val(TextBox6.Text)))) * (-1)) ^ (1 / 2))) / 2 * Val(TextBox4.Text))

    Vielen Dank im vorraus!
    Ich denke nicht, dass mtb-david sowas meint, aber vielleicht ist es ihm doch nützlich.

    Ehrlich gesagt habe ich nicht ganz verstanden, was genau du mit deiner Frage meinst.
    Was genau willst du damit bewerkstelligen? Wie soll es aussehen, wenn es funktioniert?

    mtb-david schrieb:

    If ... < 0 Then TextBox10.Text = ((((-(Val(TextBox5.Text))) + (((Val(TextBox5.Text) ^ 2) - (4 * (Val(TextBox4.Text)) * (Val(TextBox6.Text)))) * (-1)) ^ (1 / 2))) / 2 * Val(TextBox4.Text))

    Hänge einfach dran:
    "* If (Irgendwas >= 0,1, -1 * j)"

    bzw schau hier:
    msdn.microsoft.com/en-us/library/bb513985.aspx
    Denn kann man also verwenden um in Abhängigkeit einer Bedingung 2 verschiedene "Werte" zu verwenden. Im obigen Fall multipliziert man also mit 1, wenn größer Null (maW es passiert nix ;) ) oder mit -1 und j.
    Im übrigen würde ich aus Gründen der Übersichtlichkeit vorschlagen, die Formel in mehrere Teile zu zerlegen und sinnvolle Namen für die Textboxen zu verwenden!

    mtb-david schrieb:

    Bisher sieht das Ganze so aus:
    If ... < 0 Then TextBox10.Text = ((((-(Val(TextBox5.Text))) + (((Val(TextBox5.Text) ^ 2) - (4 * (Val(TextBox4.Text)) * (Val(TextBox6.Text)))) * (-1)) ^ (1 / 2))) / 2 * Val(TextBox4.Text))

    Niemals mit Strings rechnen, auch wenn sie richtig in numerische Werte konvertiert werden.
    Konvertiere diese Strings zuerst in numerische Werte, gib den Variablen klingende Namen:

    VB.NET-Quellcode

    1. Dim Realteil As Double = Val(TextBox5.Text)
    2. Dim Imaginärteil As Double = Val(TextBox6.Text)
    und rechne dann mit diesen Variablen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Du solltest aber auch wirklich das beherzigen was RodFromGermany geschrieben hat.

    Mit meinen Worten:

    Bei der Eingabe von Werten in eine TextBox hast du erst mal Strings.
    Diese musst du dann in Zahlen wandeln, damit du damit rechnen kannst.
    Wenn du diese Zahlen wieder in ein Label oder TextBox ausgeben willst
    brauchst du wieder Strings. Somit musst du die Zahlen erst wieder in
    Strings umwandeln. Anschließend kannst du an deine Ausgabe
    beliebige weitere Strings anhängen. Meinetwegen Einheiten wie "km"
    oder "h" oder "j". Das Anhängen macht man dann bei so kleinen
    Ausgaben mit einem &. Das ist dann die kürzeste Form zum Verbinden
    von Strings.
    da schließe ich mich lightsource an!
    vor allem verwende variablen statt alles auf diese weise in eine zeile zu quetschen!

    ist doch überscihtlicher z.b. c = a + b*2 - 3*e
    zu rechnen als zehn val(textboxXY.text) da stehen zu haben^^

    btw, nur aus interesse, was studierst du??