基于前面的示例程序。我们来一个能能够将美元,欧元,日元,港元,英镑,澳大利亚元转换为人民币的程序。为了真实性,我从网上找了最新的汇率。
来源于中国外汇交易中心

USD/CNY=7.1307:表示每1USD=7.1307CNY,即每1美元为7.1307人民币
还记得吗?由于switch括号里面限制为整型,字符型和枚举型,特别强调不能使用字符串型。所以这里我们处理一下信息,这个看着首字母不重复,就用首字母简写吧。
| 英文 | 中文 | 简化处理 |
|---|---|---|
| CNY | 人民币 | C |
| USD | 美元 | U |
| EUR | 欧元 | E |
| 100JPY | 日元 | J |
| HKD | 港元 | H |
| GBP | 英镑 | G |
| AUD | 澳大利亚元 | A |
编程案例
int main()
{
constexpr double cm_per_inch = 2.54;
double length = 1;
char unit = 0;
cout << "Please enter a length followed by a unit (c or i):\n";
cin >> length >> unit;
switch (unit){
case'i':
cout << length << " in is " << length*cm_per_inch << " cm\n";
break;
case'c':
cout << length << " cm is " << length / cm_per_inch << " in\n";
break;
default:
cout << "Sorry,I don't know a unit called " << unit << "\n";
break;
}
}
修改后
#include"std_lib_facilities.h"
int main()
{
constexpr double CNY_per_USD = 7.1307;
constexpr double CNY_per_EUR = 7.6990;
constexpr double CNY_per_100JPY = 4.6657;
constexpr double CNY_per_HKD = 0.91733;
constexpr double CNY_per_GBP = 9.2405;
constexpr double CNY_per_AUD = 4.7116;
double length = 1;
char unit = 0;
for(int i = 0; i < 8; ++i){
cout << "Please enter a length followed by a unit (U,E,J,H,G,A or C):\n";
cin >> length >> unit;
switch (unit){
case'U':
cout << length << " USD is " << length*CNY_per_USD << " CNY\n";
break;
case'E':
cout << length << " EUR is " << length*CNY_per_EUR << " CNY\n";
break;
case'J':
cout << length << " 100JPY is " << length*CNY_per_100JPY << " CNY\n";
break;
case'H':
cout << length << " HKD is " << length*CNY_per_HKD << " CNY\n";
break;
case'G':
cout << length << " GBP is " << length*CNY_per_GBP << " CNY\n";
break;
case'A':
cout << length << " AUD is " << length*CNY_per_AUD << " CNY\n";
break;
case'C':
cout << length << " CNY is " << length/CNY_per_USD << " USD\n";
cout << length << " CNY is " << length/CNY_per_EUR << " EUR\n";
cout << length << " CNY is " << length/CNY_per_100JPY << " 100JPY\n";
cout << length << " CNY is " << length/CNY_per_HKD << " HKD\n";
cout << length << " CNY is " << length/CNY_per_GBP << " GBP\n";
cout << length << " CNY is " << length/CNY_per_AUD << " AUD\n";
break;
default:
cout << "Sorry,I don't know a unit called " << unit << "\n";
break;
}
}
}
先看看1美、欧、港、澳大利亚元,100日元,1英镑转换成人民币是多少?

再看看100元人民币去哪儿划算?

好家伙,好吧,这可能就是原因。
28

被折叠的 条评论
为什么被折叠?



