티스토리 뷰

SW/C#

[ 초보자를 위한 C# 200제 ] C#_009

김아진 2018. 3. 23. 19:59

[ 초보자를 위한 C# 200제 ] C#_009


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace Project_009

{

    class Program

    {

        static void Main(string[] args)

        {

            /* 메서드(method)

             * 데이터를 받아서 연산을 수행한 다음, 

             * 결과를 리턴하는 과정을 나열한 것이 메서드 선언이다. 

             * 실행되고 있으면 메서드 호출이라고 한다. 

             * 준비하고 있는 상태는"선언", 실행되고 있는 상태는 "호출"이다. 

             * 

             * 메서드 외부에서 입력되는 데이터를 아규먼트라고 한다. 

             * "메서드 이름(아규먼트)" 형식대로 선언하고 호출한다. 

             */


            Console.WriteLine("<5칙연산>\n");

            Console.WriteLine("# 숫자 연산자 숫자 순\n");


            Console.Write("첫 번째 수를 입력하세요(정수): ");

            int iNum1 = int.Parse(Console.ReadLine()); // 숫자 타입 문자열를 입력받아 int 타입으로 형변환


            Console.Write("+,-,*,/,% 중 원하는 연산자 입력: ");

            string opp = Console.ReadLine(); // 문자열 입력받아 문자열 변수 opp에 대입


            Console.Write("두 번째 수를 입력하세요(정수): ");

            int iNum2 = int.Parse(Console.ReadLine()); // 숫자 타입 문자열를 입력받아 int 타입으로 형변환


            // 아파트에서 살려면 아파트가 설계도대로 만들어져약(생성되어야) 한다. 

            // 같은 맥락으로 클래스(아파트 설계도)를 사용하기 위해

            // 개체(설계도대로 만들어진 아파트)를 만든다. 


            // 개체 생성

            OperationCalculator oppCal = new OperationCalculator();


            // 만들어진 계산기의 이름을 이용하여 Calculator()메서드를 실행(호출)한다. 

            // 생성된 개체 이름을 레퍼런스라고 한다. 

            // oppCal.Calculator(20, 30, "+")와 같이 "레퍼런스.메서드()" 형태를 사용한다. 


            // 메서드 호출

            int iNum3 = oppCal.Calculator(iNum1, iNum2, opp);

            Console.WriteLine("{0} {1} {2} = {3}", iNum1, opp, iNum2, iNum3);

        }

    }


    // 클래스 선언

    public class OperationCalculator

    {

        //메서드 선언

        public int Calculator(int x, int y, string opp)

        {

            // 5칙연산 결과를 저장할 임시 변수]

            // 메서드 안에서 선언된 변수를 메서드 변수라고 하고, 메서드 안에서만 사용 가능

            int z = 0;

            

            // 원하는 5칙연산을 선택

            switch (opp)

            {

                case "+": z = x + y; break;

                case "-": z = x - y; break;

                case "*": z = x * y; break;

                case "/": z = x / y; break;

                case "%": z = x % y; break;


            }


            // 5칙연산에 알맞은 값을 리턴한다. 

            return z;

        }

    }

}


[ 결과 ]



댓글