비율 계산 그딴걸 뭐하러 하지.
그냥 클래스를 이용하면 될텐데.... 해서 그냥 만들었습니다.
// 비율계산 클래스
template
class CCalcRate
{
public:
// A_All : A = B_All : B 의 비율계산이다.
//
// 값을 얻기는 원하는 곳의 파라메터에 포인트를 전달하면 된다.
static void Rate(T *A_All, T A, T B_All, T B)
{
if (B == 0)
throw new Exception("CCalcRate : Divied by 0 : B");
*A_All = B_All * A / B;
}
static void Rate(T A_All, T *A, T B_All, T B)
{
if (B_All == 0)
throw new Exception("CCalcRate : Divied by 0 : B_All");
*A = A_All * B / B_All;
}
static void Rate(T A_All, T A, T *B_All, T B)
{
if (A == 0)
throw new Exception("CCalcRate : Divied by 0 : A");
*BAll = A_All * B / A;
}
static void Rate(T A_All, T A, T B_All, T *B)
{
if (A_All == 0)
throw new Exception("CCalcRate : Divied by 0 : A_All");
*B = B_All * A / A_All;
}
};
사용은 요런식으로
Width : X = OtherLen : ptr 에서 ptr을 구하려면
int ptr;
CCalcRate().Rate(Width, X, OtherLen, &ptr);
머리 아프게 살지 말자는 의미에서.
|