1. 이번 시간은
나머지는 나눗셈을 했을 때 남는 숫자를 말한다. C#에서는 4칙연산의 연산자 +, -, *, / 외에도 많은 연산자를 제공하는데 나머지 연산자 %도 그 중에 하나입니다. 이번시간의 주학습은 지난 시간에 이어 IF문 연습입니다. 중첩 IF문인데 IF문안에 또 IF문이있는경우입니다.
2. 폼의 구성
2.1 텍스트박스를 도구상자에서 TextBox를 선택하여 가져왔습니다. 자동으로 이름이 textBox1로 부여되었습니다. textBox1를 복사, 붙여넣기하여 textBox2를 만들었습니다. 속성에서 Textaglien MiddleCenter로 했습니다.
2.2 라벨을 도구상자에서 Label을 가져왔습니다. 자동으로 이름이 label1로 부여되었습니다. 라벨을 모양을 조금 내었습니다. Autosize False, Bordersystle FixedSingle, Font 12pt, Textaglien MiddleCenter.
2.3 버튼을 도구상자에서 가져왔습니다. 자동으로 이름이 button1로 부여되었습니다.
button1의 속성에서 Text를 나누고 나머지로 바꾸었습니다
폼 구성의 방법은 CS1002 ~ CS1010을 참고하시면 되겠습니다.
3. 코드 작성
3.1 버튼 클릭시 코드가 해야 하는 일
a. 변수 정수 3개 선언 : su1(나누어 지는 수), su2(나누는 수), nam(나머지의 수)
b. 만약 텍스트박스1(나누어 지는 수)에 아무런 데이터가 없다면 텍스트박스1에 "10"을 넣는다.
c. 만약 텍스트박스2(나누는 수)에 아무런 데이터가 없다면 "textBox2에 입력데이터가 없습니다"를 라벨1에 출력한다.
d. 만약 덱스트박스2(나누는 수)에 데이터가 있다면 아래와 같은 일을 한다.
1) 텍스트박스1의 데이터를 정수로 변화시켜 변수 su1에 보관한다.
2) 텍스트박스2의 데이터를 정수로 변화 시켜 변수 su2에 보관한다.
3) 만약 su2가 0 이면 라벨1에 "0으로 나누면 안됩니다!" 를 출력한다.
4) 만약 su2가 0 이 아니라면
(1) su1을 su2로 나누었을 때의 나머지를 변수 nam에 보관한다.
(2) 라벨1에 자세한 정보를 출력한다.
3.2 button1의 버튼 클릭 이벤트 생성
폼에서 button1을 두번 클릭(더블 클릭)하면 자동적으로 버튼 클릭 이벤트인 button1_Click() 가 만들어집니다. { 와 } 사이에 코드를 작성합니다.
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
|
private void button1_Click(object sender, EventArgs e)
{
int su1 = 0, su2 = 0, nam = 0;
if (textBox1.Text.Length < 1)
{
textBox1.Text = "10";
}
if (textBox2.Text.Length > 0)
{
su1 = Convert.ToInt32(textBox1.Text);
su2 = Convert.ToInt32(textBox2.Text);
if (su2 == 0)
{
label1.Text = "0으로 나누면 안됩니다!";
}
else
{
nam = su1 % su2;
label1.Text = textBox1.Text + " / " + textBox2.Text + " 의 나머지는 "
+ nam.ToString();
}
}
else
{
label1.Text = "textBox2에 입력데이터가 없습니다!";
}
}
|
cs |
3.3 코드
3.2.1 int su1 =0, su2 =0, nam =0; // 라인 3
변수 su1, su2, nam을 정수로 선언하며 그 초기값은 0 이라고 컴퓨터에게 알려줍니다.
3.2.2 5 ~ 8 라인
만약 텍스트박스1(나누어 지는 수)에 아무런 데이터가 없다면 텍스트박스1에 "10"을 넣는다.
3.2.3 10 ~ 24 라인
조건1 : textBox2.Text.Length > 0, 조건2 : su2 == 0
만약 덱스트박스2(나누는 수)에 데이트가 있다면 - if(조건1)에 만족하면 // 10 라인
1) 텍스트박스1의 데이터를 정수로 변화 시켜 변수 su1에 보관한다. // 12 라인
2) 텍스트박스2의 데이터를 정수로 변화 시켜 변수 su2에 보관한다. // 13 라인
3) 만약 su2가 0 이면 - if(조건2)에 만족하면 // 14 라인
라벨1에 "0으로 나누면 안됩니다!" 를 출력한다. // 16 라인
4) 만약 su2가 0 이 아니라면 - 조건2의 else // 18 라인
(1) su1을 su2로 나누었을 때의 나머지를 변수 nam에 보관한다. // 20 라인
(2) 라벨1에 자세한 정보를 출력한다. // 21 라인
3.2.4 25 ~ 28 라인
조건1 : textBox2.Text.Length > 0, 조건2 : su2 == 0
만약 텍스트박스2(나누는 수)에 아무런 데이터가 없다면 - 조건1의 else // 25 라인
"textBox2에 입력데이터가 없습니다"를 라벨1에 출력한다. // 27 라인
4. 실행
4.1 입력데이터없이 그냥 버튼(나누고 나머지) 클릭
textBox1에 데이터가 없으면 강제로 "10"을 넣는다. (textBox1.Text = "10";)
label1은 textBox2에 입력데이터가 없습니다 입니다. (label1.Text = "textBox2에 입력데이터가 없습니다!";)
조건1(textBox2.Text.Length > 0)에 만족 못한 결과입니다.
4.2 텍스트박스1에 10, 텍스트박스2에 0을 입력하고 버튼(나누고 나머지) 클릭
label1은 0으로 나누면 안됩니다!입니다. (label1.Text = "0으로 나누면 안됩니다!";)
조건1(textBox2.Text.Length > 0)에 만족하고 조건2(su2 == 0)에도 만족하였습니다.
4.3 텍스트박스1에 10, 텍스트박스2에 2를 입력하고 버튼(나누고 나머지) 클릭
label1은 10 / 2 의 나머지는 0 입니다. 문자 합치기입니다. textBox1.Text는 10, 문자열( / ), textBox2.Text는2, 문자열( 의 나머지는 ), nam.ToString()은 0
(label1.Text = textBox1.Text + " / " + textBox2.Text + " 의 나머지는 " + nam.ToString();)
조건1(textBox2.Text.Length > 0)에 만족하고 조건2(su2 == 0)에는 만족하지 못하였습니다.
4.4 텍스트박스1에 8, 텍스트박스2에 3를 입력하고 버튼(나누고 나머지) 클릭
label1은 8 / 3 의 나머지는 2 입니다. 문자 합치기입니다. textBox1.Text는 8, 문자열( / ), textBox2.Text는3, 문자열( 의 나머지는 ), nam.ToString()은 2
(label1.Text = textBox1.Text + " / " + textBox2.Text + " 의 나머지는 " + nam.ToString();)
조건1(textBox2.Text.Length > 0)에 만족하고 조건2(su2 == 0)에는 만족하지 못하였습니다.
5. 다음 시간에는
수고하셨습니다.
** 동영상 **
'1일1코딩.C# - 초보코딩' 카테고리의 다른 글
CS1017 진실과 거짓 (0) | 2020.10.27 |
---|---|
CS1015 길이가 얼마고? (0) | 2020.10.23 |
CS1014 숫자 나누기 (0) | 2020.10.20 |
CS1013 숫자 곱하기 (0) | 2020.10.17 |
CS1012 숫자 빼기 (0) | 2020.10.16 |