요약 - 간단한 계산기
Coddy C# 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 70개 중 9번째.
챌린지
어려움지금까지 배운 모든 개념을 보여주는 CalculatorApp.Core 네임스페이스 내의 완전한 Calculator 클래스를 생성하세요:
- 필드:
memory(decimal) 및operationCount(int)를 위한 프라이빗(Private) 필드 - 속성: 자동 구현 속성
Name, 읽기 전용 속성Memory및OperationCount - 생성자: 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");
}
}