Menu
Coddy logo textTech

요약 - 간단한 계산기

Coddy C# 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 70개 중 9번째.

challenge icon

챌린지

어려움

지금까지 배운 모든 개념을 보여주는 CalculatorApp.Core 네임스페이스 내의 완전한 Calculator 클래스를 생성하세요:

  • 필드: memory (decimal) 및 operationCount (int)를 위한 프라이빗(Private) 필드
  • 속성: 자동 구현 속성 Name, 읽기 전용 속성 MemoryOperationCount
  • 생성자: name 매개변수가 있는 생성자와 생성자 체이닝을 사용하는 기본 생성자
  • 메서드: Add, Subtract, Multiply, Divide, Power, 그리고 SquareRoot

모든 메서드는 operationCount를 증가시켜야 합니다. Add 메서드는 결과값을 memory에도 저장해야 합니다.

참고: Power에는 Math.Pow()를, SquareRoot에는 Math.Sqrt()를 사용하세요. 필요한 경우 매개변수를 double로 캐스팅하십시오.

직접 해보기

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());
        
        // 이름을 사용하는 생성자를 사용하여 계산기 생성
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // 연산 수행
        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");
    }
}

객체 지향 프로그래밍의 모든 레슨