Taschenrechner programmieren?

3 Antworten

Zumindest mit einem Punkt:

Notepad ist (wie der Name andeutet) ein Editor, in dem man beliebige Texte schreiben kann. Nicht mehr und nicht weniger.

Das bedeutet, du kannst ihn als Werkzeug für dein Projekt verwenden, wenn du willst. Aber ansonsten lieferst du keinerlei Informationen über weitere Werkzeuge (Sprache, Plattform). Deswegen kann ich nicht weiter helfen.

hallo123868 
Fragesteller
 02.02.2021, 14:41

in meiner Aufgabe steht lediglich das was ich geschrieben habe. das sind meine anweisungen

0

Du kannst die Scriptsprache VBS verwenden die bei Windows dabei ist.

Füge folgenden Quelltext in eine leere *.txt Datei ein und benenne sie anschliessend in *.vbs

Das mit den Nachkommastellen tüftle ruhig selber mal aus.

'Programm in VBS: Taschenrechner

Dim zahl1
Dim zahl2
Dim operator
Dim text

zahl1=CInt(InputBox("Geben Sie die 1. Zahl ein:"))
zahl2=CInt(InputBox("Geben Sie die 2. Zahl ein:"))

operator=(InputBox("Geben Sie den Rechenoperator ein (+ - * \ ):"))

text=zahl1 & operator & zahl2 & "="

Select Case operator
    Case "+"
        msgbox text & zahl1 + zahl2
    Case "-"
        msgbox text & zahl1 - zahl2
    Case "*"
        msgbox text & zahl1 * zahl2
    Case "\"
        If zahl2 = 0 Then
            msgbox "Fehler Division durch 0"
        Else
            msgbox text & zahl1 \ zahl2
        End If
    Case Else
        msgbox "Falscher Operator"
End Select
Woher ich das weiß:eigene Erfahrung
geri3d  02.02.2021, 15:54

So gehts:

'Programm in VBS: Taschenrechner

Dim zahl1
Dim zahl2
Dim operator
Dim text

Do
    zahl1=CDbl (InputBox("Geben Sie die 1. Zahl ein:"))
    zahl2=CDbl (InputBox("Geben Sie die 2. Zahl ein:"))

    operator=(InputBox("Geben Sie den Rechenoperator ein (+ - * / ):"))

    text=zahl1 & operator & zahl2 & "="

    Select Case operator
        Case "+"
            text = text & Round(zahl1 + zahl2,2)
        Case "-"
            text = text & Round(zahl1 - zahl2,2)
        Case "*"
            text = text & Round(zahl1 * zahl2,2)
        Case "/"
            If zahl2 = 0 Then
                text = "Fehler Division durch 0"
            Else
                text = text & Round(zahl1 / zahl2,2)
            End If
        Case Else
            text = "Falscher Operator"
    End Select
    Msgbox text
Loop While MsgBox("Weiter?", vbYesNo) = vbYes  

 
0
geri3d  02.02.2021, 17:56
@hallo123868

Eins hab ich in deiner Frage noch überlesen, dass man den Input Prüfen soll.

Hier die Ergänzung:

'Programm in VBS: Taschenrechner

dim temp
Dim zahl1
Dim zahl2
Dim operator
Dim text
dim fehler

Do
    temp=InputBox("Geben Sie die 1. Zahl ein:")
    
    If IsNumeric(temp) Then
        zahl1 = CDbl(temp)
    Else
        fehler = True
    End If
    
    If Not fehler Then operator = (InputBox("Geben Sie den Rechenoperator ein ( + - * / ):"))
    
    If Not fehler Then temp = InputBox("Geben Sie die 2. Zahl ein:")
    
    If Not fehler Then
        If IsNumeric(temp) Then
            zahl2 = CDbl(temp)
        Else
            fehler = True
        End If
    End If
    
    text=zahl1 & operator & zahl2 & "="

    If Not fehler Then
        Select Case operator
            Case "+"
                text = text & Round(zahl1 + zahl2,2)
            Case "-"
                text = text & Round(zahl1 - zahl2,2)
            Case "*"
                text = text & Round(zahl1 * zahl2,2)
            Case "/"
                If zahl2 = 0 Then
                    text = "Fehler Division durch 0"
                Else
                    text = text & Round(zahl1 / zahl2,2)
                End If
            Case Else
                text = "Falscher Operator"
        End Select
    End If

    if fehler Then
        text = "Eingabe muss eine Zahl sein"
    end if
    
    MsgBox text

Loop While MsgBox("Weiter?", vbYesNo) = vbYes 

0
geri3d  02.02.2021, 18:04
@hallo123868

Etwas Eleganter:

'Programm in VBS: Taschenrechner

dim ok
Dim zahl1
Dim zahl2
Dim operator
Dim text
dim fehler

Do
    temp=InputBox("Geben Sie die 1. Zahl ein:")
    
    If IsNumeric(temp) Then
        zahl1 = CDbl(temp)
        ok = True
    End If
    
    If ok Then operator = (InputBox("Geben Sie den Rechenoperator ein ( + - * / ):"))
    
    If ok Then temp = InputBox("Geben Sie die 2. Zahl ein:")
    
    If IsNumeric(temp) Then
        zahl2 = CDbl(temp)
    Else
        ok = False
    End If
    
    text=zahl1 & operator & zahl2 & "="

    Select Case operator
        Case "+"
            text = text & Round(zahl1 + zahl2,2)
        Case "-"
            text = text & Round(zahl1 - zahl2,2)
        Case "*"
            text = text & Round(zahl1 * zahl2,2)
        Case "/"
            If zahl2 = 0 Then
                text = "Fehler Division durch 0"
            Else
                text = text & Round(zahl1 / zahl2,2)
            End If
        Case Else
            text = "Falscher Operator"
    End Select

    if Not ok Then
        text = "Eingabe muss eine Zahl sein"
    end if
    
    MsgBox text

Loop While MsgBox("Weiter?", vbYesNo) = vbYes 

0

Was genau ist hier mit „Notepad“ gemeint? Bei „Notepad“ fällt mir nur der Texteditor von Microsoft ein, der auf Englisch „Notepad“ und auf Deutsch „Editor“ heißt.

https://de.wikipedia.org/wiki/Microsoft_Editor

Bzw. gäbe es auch noch weitere Texteditoren (beispielsweise Notepad++), die ähnlich heißen.

Das ist keine Programmiersprache, mit der man irgendwas programmieren kann. Man könnte das Notepad höchstens dazu verwenden, das Programm (geschrieben in irgendeiner Programmiersprache) aufzuschreiben und als Textdatei abzuspeichern. Diese Textdatei kann man dann an einen Compiler der verwendeten Programmiersprache weiterleiten.