falsche Schleife?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    falsche Schleife?

    Hello. Ich habe ein Problem mit der Schleife.
    Das nein funktioniert, aber wenn ich ja auswähle wird die ganze Zeit die Frage wiederholt
    Danke im Vorraus.

    VB.NET-Quellcode

    1. Sub Main()
    2. Dim AktuelleZahl As Integer
    3. Dim zahl As Integer
    4. Dim WeiterRechnen As Boolean = False
    5. Dim Rechenzeichen As Char
    6. Dim Frage As String
    7. Frage = "Willst du weiter rechnen? ja oder nein?"
    8. Console.WriteLine("Taschenrechner (+, -, /, *, % (Modulo), Wurzel und Quadrat)")
    9. Console.WriteLine("Erste Zahl eingeben")
    10. AktuelleZahl = CInt(Console.ReadLine())
    11. Console.WriteLine("nächste Zahl eingeben")
    12. zahl = CInt(Console.ReadLine())
    13. Console.WriteLine("Rechenzeichen eingeben")
    14. Rechenzeichen = CChar(Console.ReadLine())
    15. Do
    16. If Rechenzeichen = ("+") Then
    17. AktuelleZahl = AktuelleZahl + zahl
    18. ElseIf Rechenzeichen = ("-") Then
    19. AktuelleZahl = AktuelleZahl - zahl
    20. ElseIf Rechenzeichen = ("/") Then
    21. AktuelleZahl = CInt(AktuelleZahl / zahl)
    22. ElseIf Rechenzeichen = ("*") Then
    23. AktuelleZahl = AktuelleZahl * zahl
    24. ElseIf Rechenzeichen = ("%") Then
    25. AktuelleZahl = AktuelleZahl Mod zahl
    26. ElseIf Rechenzeichen = ("Wurzel") Then
    27. AktuelleZahl = CInt(Math.Sqrt(AktuelleZahl))
    28. ElseIf Rechenzeichen = ("Quadrat") Then
    29. AktuelleZahl = CInt(Math.Pow(AktuelleZahl, 2))
    30. End If
    31. Console.WriteLine(Frage)
    32. If Console.ReadLine = "ja" Then
    33. WeiterRechnen = True
    34. ElseIf Console.ReadLine = "nein" Then
    35. WeiterRechnen = False
    36. End If
    37. Loop While (WeiterRechnen = True)
    38. Console.WriteLine(AktuelleZahl)
    39. Console.ReadLine()
    40. End Sub


    *Formatierung bearbeitet* ~NoFear23m
    @Michelleisback bitte den Thread-Text nicht innerhalb des codes als Kommentar verpacken, ist bereits das zweite mal soweit ich weis.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    @Michelleisback Jou.
    Genau das hast Du programiert.
    Sieh Dir die Zeilen 37 und 41 an.
    Debugge Deinen Code und stell fest, was Du eigentrlich willst.
    Debuggen, Fehler finden und beseitigen
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Mein Zusatztipp: In Z#36 und #38 ist ein Fehler. Schau genau, was dort steht. Es passiert was anderes, als Du glaubst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.