首页 > 解决方案 > 硬币兑换无限循环

问题描述

这个程序应该是一个硬币转换器,它将美元价值转换为日元,然后将日元价值转换为美元。一旦没有更多的输入值,它应该停止日元转换。我无法摆脱困境。尝试了几个选项,没有一个有效。

int main()
{
    double exchangeRate,
        yen = 0,
        us = -1;
    bool pass = true;

    cout << "Introduce current US-Yen exchange rate: ";
    cin >> exchangeRate;

    cout << "US dollar value (0 for break): ";

    while (pass)
    {
        cin >> us;
        if (us == 0)
            pass = false;
        else
        {
            yen = us * exchangeRate;
            cout << "Yen: " << yen << "\n";

        }
    }

    bool pass2 = true;
    exchangeRate = 1 / exchangeRate;

    cout << "Yen values: ";

    while (pass2)
    {
        cin >> yen;
        if (cin.fail())
        {
            cin.clear();
            pass2 = false;
            cout << "123 \n";
        }
        else
        {
            us = yen * exchangeRate;
            cout << "US: " << us << "\n";
        }
    }

    cout << "Thank you! \n";

    return 0;
}

还试图坚持cin >> yen里面的else声明。同样的问题,还在循环。

标签: c++loopswhile-loopinfinite

解决方案


推荐阅读