Menu
Coddy logo textTech

Özet - Basit Hesap Makinesi

Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 9 / 70.

challenge icon

Görev

Zor

Öğrenilen tüm kavramları gösteren, CalculatorApp.Core ad alanı (namespace) içinde eksiksiz bir Calculator sınıfı oluşturun:

  • Alanlar (Fields): memory (decimal) ve operationCount (int) için özel (private) alanlar
  • Özellikler (Properties): Otomatik uygulanan Name özelliği, salt okunur Memory ve OperationCount özellikleri
  • Yapıcılar (Constructors): İsim parametreli yapıcı ve yapıcı zincirleme (constructor chaining) kullanan varsayılan yapıcı
  • Metotlar: Add, Subtract, Multiply, Divide, Power ve SquareRoot

Tüm metotlar operationCount değerini artırmalıdır. Add metodu ayrıca sonucu memory alanında saklamalıdır.

Not: Power için Math.Pow() ve SquareRoot için Math.Sqrt() kullanın. Gerektiğinde parametreleri double türüne dönüştürün (cast).

Kendin dene

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());
        
        // İsim parametreli yapıcıyı kullanarak hesap makinesi oluştur
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // İşlemleri gerçekleştir
        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");
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler