2017-11-01 2 views
-4

좋은 하루! 글로벌 통화 교환기를 만들고 있습니다.내 학교 프로젝트를위한 다른 방법

const string currency_name[MAX_CURRENCY] = 
{ 
    "Euro", 
    "Pound", 
    "Dollar", 
}; 

const double exchange_rate[MAX_CURRENCY][MAX_CURRENCY] = 
{ 
    { 1, 0.795833, 1.33943 }, // Euro->Euro, Euro->pound, euro->dollar 
    { 1.25657, 1, 1.68296 }, // Pound->Euro, Pound->Pound, Pound->Dollar 
           // will add 15 by 15 global currency exchange 
}; 

현재이 기능을 사용하고 있습니다.
이보다 더 쉬운 해결책이 있습니까 ??

+0

환율은 변경 될 수있다. 따라서 데이터베이스에서 최신 환율을 하루에 한 번 업데이트하는 것이 좋습니다. – gjijo

+0

더 쉽고 좋은 솔루션을 찾았습니까? – gjijo

+0

주제 외부 및 불분명 함. [MCVE]를 보여줘야하므로 질문을 향상시켜 보여줄 수 있습니다. [컨테이너] (http://en.cppreference.com/w/cpp/container) –

답변

0

통화 유형을 데이터 유형으로 정의하는 것이 좋습니다. 그리고 다른 데이터 형식이 단순 매트릭스보다 더 적합할지 모릅니다. 그래서, 당신의 해결책은 괜찮습니다.

0

하나의 통화를 "참조 통화"로 선택하십시오.
그러면 통화 수에 관계없이 전환 만 필요합니다.
반대 방향을 쉽게 찾을 수 있기 때문에 자신을 한 방향으로 제한 할 수도 있습니다.

예 :

enum Currency 
{ 
    Euro, 
    Pound, 
    Dollar, 
    ... 
}; 

// The conversion rate into Euro. 
const float euroRates[] = { 1.0, 1.25657, ... }; 

float into_euro(float amount, Currency c) { return amount * euroRates[c]; } 
float from_euro(float amount, Currency c) { return amount/euroRates[c]; } 

float convert(float amount, Currency from, Currency to) 
{ 
    return from_euro(into_euro(amount, from), to); 
} 
+0

enum 열심히 나에게 새로운 것이기 때문에 ... 그리고 나는 그 반대도 변환 할 15 통화가 있어요 15x15 @@ – newbie

+0

@newbie 열거 형은 중요하지 않으므로 1515 테이블이 필요 없도록 참고할 수 있습니다. – molbdnilo

+0

여기에 해결책이 있습니다 currency1 (변환), currency2 (변환), 금액, 값 은 귀하의 것과 유사합니다. – newbie

관련 문제