Menu
Coddy logo textTech

Podsumowanie — prosty kalkulator

Część sekcji Programowanie obiektowe ścieżki C# w Coddy. Lekcja 9 z 70.

challenge icon

Wyzwanie

Trudny

Utwórz kompletną klasę Calculator w przestrzeni nazw CalculatorApp.Core, która demonstruje wszystkie poznane koncepcje:

  • Pola: Prywatne pola memory (decimal) i operationCount (int)
  • Właściwości: Automatycznie implementowana właściwość Name, właściwości tylko do odczytu Memory i OperationCount
  • Konstruktory: Konstruktor z parametrem name oraz konstruktor domyślny wykorzystujący łańcuchowe wywołanie konstruktorów
  • Metody: Add, Subtract, Multiply, Divide, Power i SquareRoot

Wszystkie metody powinny zwiększać wartość operationCount. Metoda Add powinna również zapisywać wynik w memory.

Uwaga: Użyj Math.Pow() dla Power oraz Math.Sqrt() dla SquareRoot. W razie potrzeby rzutuj parametry na typ double.

Spróbuj swoich sił

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());
        
        // Utwórz kalkulator za pomocą konstruktora przyjmującego nazwę
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // Wykonaj operacje
        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");
    }
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator C# online