C++基础:汇率

基于前面的示例程序。我们来一个能能够将美元,欧元,日元,港元,英镑,澳大利亚元转换为人民币的程序。为了真实性,我从网上找了最新的汇率。
来源于中国外汇交易中心
在这里插入图片描述
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元人民币去哪儿划算?
在这里插入图片描述
好家伙,好吧,这可能就是原因。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值