3

这是我在 SO 上的第一篇文章,也是我编程的第一个月,我正在自学,所以请善待 :) 来了!

简而言之,我希望正确输入货币金额。顺便说一句,我正在使用 getline(),以便我可以验证输入。任何人都可以帮忙吗?谢谢!!

原理,细节:

有时这是:

    12345.67 美元
    45.30 美元
    1.01 美元
    

比以下更容易阅读:

    12345.67 美元
    45.30 美元
    1.01 美元
    

我想我在输出时想出了如何做到这一点:

cout << setfill(' ') << setw(40) << right << "Dr., SUBTOTAL:";
cout << " $";
cout << setw(10) << right << sum << endl;

看起来像:

                           博士,小计 $12.34
或者
                           博士,小计 $1234.56
完美的!(我认为。)

但是当提示用户输入美元金额时,我不知道如何让它像计算器一样工作,也就是说,右对齐迄今为止输入的任何数字。输入 123.45 的“定格动画”看起来像:

    卡什博士.......$ 1
    卡什博士.......$ 12
    卡什博士…………12 美元。
    卡什博士.......$ 12.3
    卡什博士.......$ 12.34
希望这是有道理的。

更新:运行 Windows,Code::Blocks 13.12,GNU GCC,C++11

4

1 回答 1

3

你不能用 cout/cin 和 getline 严格地做到这一点。您需要类似 curses 库http://en.wikipedia.org/wiki/Curses_(programming_library)之类的东西,并且您需要分别捕获每个键并重新绘制线。

于 2014-01-21T19:55:20.200 回答