Taschenrechner mit Rechenregeln

  • VB.NET

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

    Taschenrechner mit Rechenregeln

    Guten Abend,
    Ich habe einen Taschenrechner programmiert der soweit ganz gut funktionierte bis ich bemerkte dass ich ja Klammern vor Punkt Rechnen muss und Punkt vor Strich. Wie könnte ich dies umsetzten?
    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down

    Toni03 schrieb:

    Wie könnte ich dies umsetzten?
    Setze Klammern.
    Wie sieht denn so ein Skript aus, das Du abarbeitest?
    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!
    Ich hatte dies gelöscht weil er immer nur von links nach rechts gerechnet hat.
    Ich habe einen Integer der eine Zahl zwischen 1 und 4 hat
    1 = +
    2 = -
    3 = *
    4 = :

    und da hat er dann mit if getestet was es ist. Es waren aber immer nur 2 Zahlen, weil wenn man auf +-*: drückt, er testet ob schon eine Aufgabe da ist und diese ausrechnete und dann mit dem Ergebnis davon weiter rechnete.

    EDIT: Grammatikfehler entfernt


    z.B.: 5+5*5
    5 + 5 = 10 * 5 = 50
    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Toni03“ ()

    Nicht ganz so einfach, die Geschichte. Schau mal in diesen Thread, da fällt die Wortgruppe "umgekehrte polnische Notation" (oder war es umgekehrt? Polnische umgekehrte Notation? :P )
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Danke für die Antworten. Vaporized ich verstehe davon nicht viel bin aber dabei es zu testen. Trade wie kann ich das nutzen und vorallem das ist nicht VB Net oder kann ich das trotzdem nutzen?

    EDIT: Ich verstehe das von Vaporized nicht
    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down
    Das ist eine Implementierung der RPN, die VaporiZed angesprochen hat. Das ist halt C#, aber das ist ja genauso nur .NET.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Toni03 Die umgekehrte polnische Notation ist eigentlich absolut simpel.
    Ein Stack mit numerischen Werten und eine Liste mit Operationen.
    Einige Operationen benötigen zwei Werte auf dem Stack: { +. -, *, /, Swap }
    andere brauchen nur einen Wert: { Sqrt, Sin, Exp, Duplizieren, Löschen }.

    Das Prinzip ist:
    1. Zahl eingeben und auf dem Stack ablegen
    2. Zahl eingeben und auf dem Stack ablegen
    Operation durchführen
    bzw.
    Zahl eingeben und auf dem Stack ablegen
    Operation durchführen

    Der Operator testet die Anzahl der Werte auf dem Stack,
    holt den einen oder die beiden Werte ab,
    berechnet das Resultat und
    speichert das Resultat wieder auf dem Stack.
    Feddich.

    Man muss nur diese Denk- bzw. Herangehensweise verinnerlichen, dann rechnet es sich so sogar viel einfacher als "normal".
    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!
    Ok ich schau mir das mal die Tage an. Habe im Moment keine Zeit. Danke

    if Brain.Enabled = False Then
    Process.start("C:\Brain.exe")
    End if
    __________________________________________________

    Error: Brain.exe not found System shut down

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Toni03“ ()