티스토리 뷰

======================================================

안녕하세요 Doridori 입니다. 


이번강의는 조건문(if else, switch)에 대해서 강의 하도록 하겠습니다. 


이번 강의에서는 프로그램에 사용되는 코드 보다는 공부를 하기 위해 예제로 사용되는 코드 들이 있습니다. 


프로그램구현을 위해서는 굳이 작성하지 않으셔도 됩니다. (ifTest(), switchTest() 메소드 및 호출하는 부분)

======================================================


조건문 (if else, switch)


Source UI) Study_8_if_switch(UI).zip

Soruce 전체) Study_8_if_switch.zip

교재) 8강 조건문(If else, switch).pdf


본격적인 프로그램의 시작이라고 볼수 있으며 여기서부터는 코딩을 하실때 고민을 해야 하는 부분이 많아지게 됩니다. 

(고민을 많이 하고 시작 할 수록 오류라던지 효율이라던지 더 괜찮은 프로그램으로 짜여지게 됩니다.)


if 문과 else 사용방법 및 if문의 축약 여러 조건 사용(and, or)과 switch문의 사용과 enum과 switch에 대해서 강의를 해보았습니다. 


프로그램부분만 진행 하시면 빨리 하시겠지만 예제 부분을 보시면 많은 도움이 될거라고 생각 합니다.


이번 UI에서는 숫자를 제어 할 때 많이 사용 되는 numericUpDown Control과 선택 할 항목을 표시할때 많이 사용 되는 Combobox를 사용해서 간단한 프로그램을 만드는 예제를 준비해 보았습니다. 


UI)


소스 Code 및 내용)

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace if_switch
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// 프로그램의 진입점 입니다.
        /// </summary>
        public Form1()
        {
            InitializeComponent();
 
            ifTest();  //프로그램 실행 시에 ifTest()를 호출 합니다. (프로그램 동작과는 관계 없습니다. if Test용 예제)
            switchTest();  //프로그램 실행 시에 switchTest()를 호출 합니다. (프로그램 동작과는 관계 없습니다. switch Test용 예제)
        }
 
 
        /// <summary>
        /// if Test 예제
        /// </summary>
        private void ifTest()
        {
            int ia = 10;
            int ib = 20;
 
            string strResult = string.Empty;
 
            // if, else if, else -> if 조건이 아닐 경우 else if 조건이 아닐 경우 else(나머지)
            if (ia > ib)
            {
                strResult = "ia 가 더 큽니다.";
            }
            else if (ia < ib)
            {
                strResult = "ib 가 더 큽니다.";
            }
            else
            {
                strResult = "같습니다.";
            }
 
            // 단항의 경우 괄호는 생략 할 수 있습니다.
            if (ia > ib)
                strResult = "ia 가 더 큽니다.";
            else
                strResult = "같습니다.";
 
            // 동일 변수에 결과 값을 넣어줄 경우에 if 문을 축약 할 수 있습니다.
            strResult = (ia > ib) ? "ia 가 더 큽니다." : "같습니다.";
 
            // && || 를 사용 해서 여러가지 조건을 추가 할 수 있습니다.
            if (ia > 5 && ia > ib)
            {
                strResult = "ia는 5보다 크고 ib보다 큽니다.";
            }
            if (ia > 12 || ia > ib)
            {
                strResult = "ia는 12보다 크거나 ib보다 큽니다.";
            }
        }
 
 
        /// <summary>
        /// Switch Test 예제
        /// </summary>
        private void switchTest()
        {
            int iRet = 3;
 
            string strResult = string.Empty;
 
            // Switch 조건을 지정 할 수 있습니다. (숫자, 문자형 사용 가능)
            switch (iRet)
            {
                case 1:     // switch에서 설정된 값과 동일한 case를 실행 합니다. 
                    strResult = "1";
                    break;   // case 실행 후 switch문 밖으로 빠져나갑니다.
                case 2:
                    strResult = "2";
                    break;
                case 3:
                case 4// break 문을 쓰지 않고 3번과 4번 case를 동시에 사용 합니다.
                    strResult = "3";
                    break;
                default:
                    strResult = "선택 되지 않은 숫자";
                    break;
            }
 
 
            enumTest etest = enumTest.화;
 
            // enum으로 조건문을 사용 할 경우 자동 완성 기능이 제공 되고 오타 및 실수를 줄일 수 있습니다. (아래 enum 정의)
            switch (etest)
            {
                case enumTest.월:
                    strResult = "월요일";
                    break;
                case enumTest.화:
                    strResult = "화요일";
                    break;
                case enumTest.수:
                    strResult = "수요일";
                    break;
                default:
                    break;
            }
 
 
        }
 
        /// <summary>
        /// enumTest를 정의 합니다.
        /// </summary>
        private enum enumTest
        {
            월,
            화,
            수,
        }
 
        //============================= 실제 프로그램 동작 부분 ======================================//
 
        /// <summary>
        /// 화면에서 "Number 비교" Button을 Click 했을 때 Event를 발생 시킵니다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnifResult_Click(object sender, EventArgs e)
        {
            int iNumber1 = (int)nNumber1.Value;
            int iNumber2 = (int)nNumber2.Value;
            
            if (iNumber1 > iNumber2)
            {
                lblifResult.Text = string.Format("- Number1이 Number2 보다 {0} 더 큽니다.", iNumber1 - iNumber2);
            }
            else if (iNumber1 < iNumber2)
            {
                lblifResult.Text = string.Format("- Number2가 Number1 보다 {0} 더 큽니다.", iNumber2 - iNumber1);
            }
            else
            {
                lblifResult.Text = string.Format("- 두 숫자는 같습니다. 숫자 : {0}", iNumber1);
            }
 
        }
 
 
        /// <summary>
        /// 화면에서 "선택요일확인" Button을 Click 했을 때 Event를 발생 시킵니다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnswitchResult_Click(object sender, EventArgs e)
        {
            string strSelect = cboxDay.Text;
 
            switch (strSelect)
            {
                case "월":
                    lblswitchResult.Text = "- 선택 날짜는 월요일 입니다.";
                    break;
                case "화":
                    lblswitchResult.Text = "- 선택 날짜는 화요일 입니다.";
                    break;
                case "수":
                    lblswitchResult.Text = "- 선택 날짜는 수요일 입니다.";
                    break;
                case "목":
                case "금":
                    lblswitchResult.Text = "- 선택 날짜는 목요일 또는 금요일 입니다.";
                    break;
                default:
                    lblswitchResult.Text = "- 선택 날짜는 주말입니다.(토요일, 일요일)";
                    break;
            }
        }
    }
}
 
cs




의)





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함