Menu
Coddy logo textTech

Zusammenfassung - Einfacher Taschenrechner

Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy — Lektion 9 von 70.

challenge icon

Aufgabe

Schwer

Erstellen Sie eine vollständige Calculator-Klasse im Namespace CalculatorApp.Core, die alle gelernten Konzepte demonstriert:

  • Felder: Private Felder für memory (decimal) und operationCount (int)
  • Eigenschaften: Automatisch implementierte Eigenschaft Name, schreibgeschützte Eigenschaften Memory und OperationCount
  • Konstruktoren: Konstruktor mit name-Parameter und Standardkonstruktor unter Verwendung von Konstruktor-Verkettung (Constructor Chaining)
  • Methoden: Add, Subtract, Multiply, Divide, Power und SquareRoot

Alle Methoden sollten operationCount inkrementieren. Die Methode Add sollte das Ergebnis zusätzlich in memory speichern.

Hinweis: Verwenden Sie Math.Pow() für Power und Math.Sqrt() für SquareRoot. Casten Sie die Parameter bei Bedarf in double.

Probier es selbst

using System;
using CalculatorApp.Core;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        decimal num1 = decimal.Parse(Console.ReadLine());
        decimal num2 = decimal.Parse(Console.ReadLine());
        
        // Taschenrechner mit Konstruktor unter Verwendung des Namens erstellen
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // Operationen ausführen
        decimal addResult = calc.Add(num1, num2);
        Console.WriteLine($"Add: {addResult}");
        
        decimal subtractResult = calc.Subtract(num1, num2);
        Console.WriteLine($"Subtract: {subtractResult}");
        
        decimal multiplyResult = calc.Multiply(num1, num2);
        Console.WriteLine($"Multiply: {multiplyResult}");
        
        decimal divideResult = calc.Divide(num1, num2);
        Console.WriteLine($"Divide: {divideResult}");
        
        Console.WriteLine($"Memory after operations: {calc.Memory}");
        
        decimal powerResult = calc.Power(num1, num2);
        Console.WriteLine($"Power: {powerResult}");
        
        decimal sqrtResult = calc.SquareRoot(num2);
        Console.WriteLine($"Square Root: {sqrtResult}");
        
        Console.WriteLine($"History: {calc.OperationCount} operations");
    }
}

Alle Lektionen in Objektorientierte Programmierung