Programming/C# * Unity
[C#] switch~case문 응용
고막고막
2019. 3. 4. 11:38
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 |