switch ~ case문은 if ~ else문과 유사한 역할을 하지만 그 활용 범위가 좁다. 가령 특정한 값만 제어할 수 있어 범위는 제어할 수 없다. 그러나 전혀 방법이 없는 것은 아니다. switch ~ case문을 응용해 범위를 제어해보자.
문제
사용자에게 점수를 입력받아
90점 이상이면 "A학점"
80점 이상이면 "B학점"
70점 이상이면 "C학점"
60점 이상이면 "D학점"
60점 미만이면 "F학점"
을 출력해보자.
해결
[점수와 결과 변수 선언 → 입력 받기 → switch ~ case문을 응용해 구간별로 다른 학점을 결과에 저장 → 결과 출력]
정수간 연산에는 소수점이 찍히지 않음으로 입력받은 점수를 10으로 나눈 결과인 '몫'을 구간 대신 case문에 적용할 수 있다. 단, case에 들어가는 값은 콤마로 나열할 수 없기 때문에 case를 나열해준다.
switch(num/10) // 정수와 정수 연산은 소수점이 없음, // 나누기에서는 몫만 남음 { case 10: case 9: result = "A"; break; case 8: result = "B"; break; case 7: result = "C"; break; case 6 : result = "D"; break; case 5 : case 4 : case 3 : case 2 : case 1 : case 0 : result = "F"; break; } Console.WriteLine(result); | cs |
'Programming > C# * Unity' 카테고리의 다른 글
[C#] while문과 do while문 비교 (3) | 2019.03.05 |
---|---|
[Unity] 03. 지형(Terrain) (0) | 2019.03.04 |
[Unity] 02. 이동(Transform) (0) | 2019.02.27 |
[Unity] 01. 재질(Material) (0) | 2019.02.27 |
[Unity] 00. 기본 컨트롤 (0) | 2019.02.26 |