본문 바로가기

프로그램언어/C++

눈속임 반올림 처리.

기본적으로 프로그램을 응용하다 보면 가끔씩은 악이 아니던 그러던 눈속임을 사용하는 경우가 많습니다. 
항상은 아니지만 필요에 의해 많이 사용하는 방법이 아닐까 합니다. 

보통 서비스하고 있는 시스템에 유저 수를 뻥티기 하는 경우에 사용이 많이 되는데요.

요일별 / 주말별 / 특정 요일에 대해서 사용이 될 수 있겠습니다. 

첫 번째 주제는 뻥티기라 정의하고 어떻게 뻥티기를 사용하는지에 대해서 논의하겠습니다. 

먼저 계획을 수립하겠죠. 

첫 번째 계획.
자 여러분 필요에 의해 서비스하고 있는 것을 조금 부풀려 이야기를 해볼까 합니다. 
일단 주중과 주말 모두 뻥티기를 할껀데 주말에는 조금 많게 2배정도 뻥티기 하고 평일에는 조금만 합시다. 

두 번째 계획.
자 여러분 저는 요일별 뻥티기를 사용하고 싶습니다. 
월/화/수/목/금/토/일 요일별 벙티기 해주세요. 

첫 번째 계획은 주중에는 적정선에서 일정한 비율로 뻥티기 하고 주말에는 대략 사람이 많게 해주고 싶을 때 이야기 합니다. 두 번째 계획은 좀 구체적으로 요일별 이야기를 하고 있습니다. 자 그럼 어떻게 뻥티기를 사용할지 대략 구상이 될 것입니다.

먼저 함수를 구현해야 겠죠. 
1. 주말 / 주중 구하는 함수  ( 첫 번째 계획 )
2. 월/화/수/목/금/토/일 구하는 함수 ( 두 번째 계획 )

자 테이블에서 사용할 때 기본적으로 뻥티기 할 비율을 정의 하겠죠. 
함수 설계
테이블 {
 enum {
     0.5% 뻥
     0.6% 뻥
     0.7% 뻥
     0.5% 뻥
     0.6% 뻥
     1.9% 뻥 
     1.9% 뻥
};
}
보여주는 변수 = 유저수 + 뻥티기함수( 유저수 ) 

함수 구현은 어렵지 않으니깐 대충 설계만 합니다.

자 위 코드처럼 보여주기 위한 유저수를 구할 수 있겠습니다. 







					public:
						inline int rounding( double _nCount )
						{
							if( _nCount >=0 )
								return static_cast( _nCount + 0.5 );
							return static_cast(_nCount - 0.5 );
						}


함수를 호출하여 반올림 처리를 해서 패킷에 담아서 전송하면 됩니다.