CHOOSE함수가 값, "1일때 출력값", "2일때 출력값",..."255일때 출력값"까지 나타내는 것과 INT함수가 소수점을 버리고 정수로 변환하는 거까지는 이해가 되는데, 왜 INT함수를 이용해서 10으로 나눠야하고 나눈 다음에 +1을 하는지 이해가 되지 않습니다. ㅠㅠ
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록
choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.
30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로
choose(int(d3/10)+1,"F","F","F"...
로 사용하는 것이죠.
책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.
80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.
choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.
-
*2018-07-24 13:20:06
0~9까지는 "F", 10~19 "F", 20~29 "F", 30~39 "D", 40~49 "D", 50~59 "C", 60~69 "C", 70~79 "B", 80~89 "B", 90~99 "A", 100 "A"가 되는 것입니다.
그러므로 F 가 3개가 되어야 하는 것이죠.
그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록
choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.
30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로choose(int(d3/10)+1,"F","F","F"...
로 사용하는 것이죠.
책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.
80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.choose의 인수를 11개로 사용한 것은 표시해야 하는 값이 11개 이기 때문입니다.
사용하지 않은 인수는 false 등으로 표시되게 됩니다.
좋은 하루 되세요.