본문 바로가기
Programming/C# * Unity

[C#] switch~case문 응용

by 고막고막 2019. 3. 4.

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