06

RPN-Rechner

Ein Desktop-Rechner für umgekehrte polnische Notation in C# mit Avalonia UI. Er hat Stack-Operationen, Tastatureingabe, eine Graph-Ansicht und getrennte Projekte für Core, Logik und Tests.

Sprache
C#
Jahr
2025
Team
Solo
Stack
  • C#
  • .NET 8
  • Avalonia
  • xUnit
RpnCalcApp · RpnCalc.Test
RpnCalc.Logic
RpnCalc.Core
  • .NET 8
  • Avalonia 11
  • xUnit

Funktionen

  • Zahlen auf einen Stack mit bis zu fünf Werten legen und mit +, −, × und ÷ rechnen.
  • Die obersten Werte tauschen, den Stack leeren oder die letzte Ziffer löschen.
  • Komplett per Tastatur bedienbar, auch über den Nummernblock.
  • Fehler wie zu wenige Werte, ein voller Stack oder Division durch null werden direkt angezeigt.
  • Graph-Modus: Der Stack wird zu den Koeffizienten eines Polynoms, gezeichnet von −10 bis 10.

So ist es gebaut

C# auf .NET 8 mit Avalonia UI und dem dunklen Fluent-Theme. Die Solution hat vier Projekte: Core mit dem Rechner-Interface und den Exceptions, Logic mit dem Stack-Rechner und der Funktionsauswertung, die App und xUnit-Tests.

Die Oberfläche ist in C#-Code statt in XAML gebaut. Tasten sind mit denselben Handlern verbunden wie die Buttons, sodass sich Maus und Tastatur gleich verhalten.

Für den Graphen werden die Stack-Werte als Koeffizienten von c₀ + c₁x + c₂x² + … gelesen, in Schritten von 0,01 ausgewertet und als Liniensegmente auf ein Avalonia-Canvas mit Achsen und Markierungen gezeichnet.