SYSTEMTIME st;
char buf[128];
const char string_kor_am_pm = {"오전", "오후"};
GetLocalTime(&st);
wsprintf(buf, "%u년%u월%u일 %s %u시%u분%u초 %s님이 접속하셨습니다",
st.wYear, st.wMonth, st.wDay, string_kor_am_pm[st.wHour / 12],
st.wHour % 13, st.wMinute, st.wSecond, "하잉");
MessageBox(0, buf, 0, 0);
코드를 읽는데 필요한 사고과정의 측면에서 보면 삼항연산자가 월등히 우월한것같음.
char char 답변 기다리구있을께여.. 감사함당 심심시간날때 해주셈ㅎㅅㅎ
저게 수만번 이상 도는 코드일땐 당연히 저렇게 써야 하지. 근데 이정도도 두뇌에어로빅이 안되어 있다면 문제.
이 문제에 대해선 코세할아버지 풀이가 가장 best한것같지만 문제해결방법론적으로 생각해보면 저런 특수해 다음으로는 삼항연산자가 퍼포먼스와 가독성을 고려해서 쓸만한거같은대요
st.wHour > 12 이게 마음에 들면 이걸 배열의 태그로 써도 됨. 키둑. 가독성 운운하기엔 너무 단순하잖냐?
st.wHour % 13 이 삼항연산자 쓴 표현보다 가독성이 나쁘다고라????
st.wHour > 12 ? st.wHour - 12 : st.wHour <--- 이게 st.wHour % 13 보다 가독성이 좋다고??
생각의 과정을 줄이잔 소리에요~ 수능이 너무 스피드게임이라서 그런쪽만 생각하다보니 그런 부분이 눈에 걸립디다~
근데 저런 경우라면 아싸리 SYSTEMTIME 상속받아서 st.AMPM 같은 string 만들어서 쓰는게 낫지 않나? 매번 몫구하고 나누고 하는것도 일감이고 가독성도 나쁜데 걍 차라리 구조체건, 클래스건 그 안에서 내부구현 해놓고 캡슐화해서 쓰는게 가독성이니 성능이니 나중에 코드 리팩토링이니 하는거 따져봐도 젤 좋을거 같은데.. 굳이 여기서 왈가왈부 할껀 아닐꺼 같은데..
string_kor_am_pm 이거 인덱스가 0이냐 1이냐에 따라 오전 오후 결정 되는건데. 삼항 연산자로 true false경우 나눠서 오전 오후 결정하는거랑 머가 다름?
이해할려면 두군데를 봐야되고 더 느리고.. 답없다 ㅋㅋ
ㄴ 더 느리다고? ㅋㅋㅋㅋㅋㅋㅋㅋ
멍청한녀석.
아 근데 오후가 0부터 시작하네 ㅋㄷㅋㄷ 막내랑 데이트 하고 오니 보인다.
st.wHour % 13 + st.wHour / 13 이 이어야되네 ㅋㄷㅋㄷ