Menu
Coddy logo textTech

Récapitulatif - Calculatrice simple

Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 9 sur 70.

challenge icon

Défi

Difficile

Créez une classe Calculator complète dans l'espace de noms CalculatorApp.Core qui illustre tous les concepts appris :

  • Champs : Champs privés pour memory (decimal) et operationCount (int)
  • Propriétés : Propriété auto-implémentée Name, propriétés en lecture seule Memory et OperationCount
  • Constructeurs : Constructeur avec un paramètre de nom, et constructeur par défaut utilisant le chaînage de constructeurs
  • Méthodes : Add, Subtract, Multiply, Divide, Power, et SquareRoot

Toutes les méthodes doivent incrémenter operationCount. La méthode Add doit également stocker le résultat dans memory.

Remarque : Utilisez Math.Pow() pour Power et Math.Sqrt() pour SquareRoot. Convertissez les paramètres en double si nécessaire.

Essayez vous-même

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());
        
        // Créer la calculatrice en utilisant le constructeur avec le nom
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // Effectuer les opérations
        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");
    }
}

Toutes les leçons de Programmation Orientée Objet