Menu
Coddy logo textTech

Riepilogo - Calcolatrice semplice

Fa parte della sezione Programmazione orientata agli oggetti del percorso C# di Coddy. Lezione 9 di 70.

challenge icon

Sfida

Difficile

Crea una classe completa Calculator nello spazio dei nomi CalculatorApp.Core che dimostri tutti i concetti appresi:

  • Campi: campi privati per memory (decimal) e operationCount (int)
  • Proprietà: proprietà implementata automaticamente Name, proprietà di sola lettura Memory e OperationCount
  • Costruttori: costruttore con parametro name e costruttore predefinito che usa il concatenamento dei costruttori
  • Metodi: Add, Subtract, Multiply, Divide, Power e SquareRoot

Tutti i metodi devono incrementare operationCount. Il metodo Add deve anche salvare il risultato in memory.

Nota: Usa Math.Pow() per Power e Math.Sqrt() per SquareRoot. Esegui il cast dei parametri a double quando necessario.

Provalo tu

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());
        
        // Crea la calcolatrice usando il costruttore con il nome
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // Esegui le operazioni
        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");
    }
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore C# online