MezData-Logo Creative Commons License 186 Lösungen Button :CPP: Einfacher Konsolen Rechner

Problem: Ein einfacher Konsolen-Rechner mit den 4 Grundrechenarten +-*/ soll entwickelt werden, Beispiel:
Eingabe 123+4
Ausgabe 127
Zunächst soll der Rechner nur mit zwei positiven ganzen Zahlen als Eingabe rechnen.

Analyse

Als Eingabe bekommt der Rechner einen String: "123+4" Der String besteht aus zwei Operanden 123 und 4, die durch einen Operator + getrennt sind.

Aufgabe: Finden Sie im Tabellenbuch die ASCII-Codes für die Ziffern und Operatoren!

Zeichen '1' '2' '3' '+' '4'
ASCII-Code          
FrageWie kann man den Wert einer Ziffer ermitteln ('4' hat den Wert 4)?

 

FrageWie kann eine Ziffernfolge "123" in den Wert 123 umgewandelt werden?

 

 

 Aufgabe: Entwickeln Sie ein Programm, daß eine Ziffernfolge in den entsprechenden Wert umwandelt.

Nun kommt wohl die Hauptschwierigkeit, die Eingabe "123+4" in ihre Bestandteile -2 Zahlen und ein Operator zu zerlegen und das mit dem Operator verknüpfte Ergebnis auszugeben.

Aufgabe: Erweitern Sie Ihr Programm so, daß es die Zahlen in zwei Integer-Variablen a, b und den Operanden in einer char-Variablen oper abspeichert.

 

Design

FrageWie würden Sie das Ergebnis berechnen, wäre die switch-Anweisung nützlich?

Aufgabe: Entwerfen Sie eine Lösung für den Rechner.

Implementierung / Test

Aufgabe: Implementieren und testen Sie Ihre Lösung!

Herzlichen Glückwunsch! Sie haben soeben einen Interpreter geschrieben!

 

Zusatz-Aufgaben: Verbesserungen des Rechners:

  1. Fehlermeldungen bei Falscheingaben
  2. Gleitkommazahlen
  3. Längere Ausdrücke mit Punkt vor Strich-Rechnung
  4. Ausdrücke mit Klammern

Mögliche Lösung...