我一直在嘗試創建一個將其他形式的全球貨幣(如日元,克朗和英鎊)轉換爲美元的工作程序。我已經嘗試設置貨幣價值(轉換爲美元),並參考谷歌的經濟匯率。 該程序使用constexprs初始化對應於不同貨幣的數值,以及使用switch語句表示用於轉換的不同貨幣的字符。但是,我無法按預期工作。C++ - 如何使用switch-statement和constexprs獲得工作貨幣轉換器?
在運行時,編譯項目構建後,任何值都會自動引用switch語句的「default:」段。 任何幫助,我將如何能夠得到這個正常工作表示讚賞。
我的包含來自標準C++庫頭文件,其中主頭文件包括:#include iostream #include fstream #include sstream #include cmath #include cstdlib #include string #include list #include vector #include algorithm #include stdexcept
這是我的代碼:
int main()
{
constexpr double yuan_to_dollar = 0.15; // conversion to USD -- values cannot be modified at runtime
constexpr double kroner_to_dollar = 0.15;
constexpr double pound_to_dollar = 1.42;
char currency;
char yuan = 'a';
char kroner = 'b';
char pound = 'c';
double amount = 1;
cout << "Please enter an integer amount in currency: \n";
cin >> currency >> amount >> yuan >> kroner >> pound; // inputs currency double values
switch (currency) {
case 'a':
cout << yuan << "is == " << yuan_to_dollar * 'a' * amount << "currency \n";
case 'b':
cout << kroner << "is == " << kroner_to_dollar * 'b' * amount << "currency \n";
case 'c':
cout << pound << "is == " << pound_to_dollar * 'c' * amount << "currency \n";
default:
cout << "Sorry, I could not determine a suitable form of: " << currency << "currency \n";
}
return 0;
}
謝謝!我忘了休息時間。 – Rudis