Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

시작은 0부터

5. 상수, Switch 본문

C# 학습일지

5. 상수, Switch

0base 2022. 7. 6. 23:36

상수

: 변하지 않는 값.

ex) const int a = 1; // a는 항상 1이다.

 

Switch 

: 조건의 결과에 따라 실행할 명령을 구분.


            조건문처럼 결과가 참/거짓이 아닌, 특정 값이 될 수 있다.
            문법
            switch(조건식)
            {
            case <조건의 결과1>;
            <조건식>의 결과가 <조건의 결과1>이면 실행;
            break;
            case <조건의 결과2>;
            <조건식>의 결과가 <조건의 결과2>이면 실행;
            break;
            default;
            <조건식>의 결과가 case 어디에도 해당하지 않으면 실행;
            break;

            ※ case마다 break를 걸지 않으면 case 전부 실행.

            switch
            {
            case1:
            case2:
            <조건식1> 실행.
            break;
            default;
            <조건식2>
            break;
            }

            * case1 또는 case2 경우 모두 조건식 1 실행

 

 

▽ Switch문으로 공배수 만들어야하는 문제인데 응용을 못해서 거의 if문으로 만들었다.

            int a = int.Parse(Console.ReadLine());
            string[] alpha = new string[3];
            alpha[0] = "#";
            alpha[1] = "%";
            alpha[2] = "$";
            
            int[] array = new int[3];
            int b = 0;
            array[0] = 2;
            array[1] = 3;
            array[2] = 5;
            int overlap = 0;

            while ( b < 3 )
            {
                switch (a % array[b])
                {
                case 0:
                        overlap++;
                        break;
                }
                b++;
            }
            if (overlap == 1)
            {
                for(int i = 0; i < array.Length; i++)
                {
                    if(a % array[i] == 0)
                    {
                        for (int j = 0; j < a * array[i]; j++)
                        {
                            alpha[i].Insert(1, alpha[i]);
                            Console.Write(alpha[i]);
                        }
                    }
                }
            }
            else if (overlap > 1)
            {
                Console.WriteLine("공배수");
            }

1가지 조건식에 결과값에 따른 다양한 경우(case)를 만들어야하는데 응용을 못해서 정작 switch문은 의미가 없을 정도로 case 하나로 만들었고 나머지는 if 로 해결했다.

이 문제는 추후에 실력이 늘면 수정을 거쳐야겠다. 아직 갈 길이 멀다.