多列中的C ++对齐

时间:2015-02-25 01:25:58

标签: c++ format setw

我正在尝试编写一个程序来显示每月的帐户余额,并且遇到问题需要3列才能正确对齐。预期的输出应该如下:

                 Total  
Month            Accumulated  
------           -----------  
2015 March            500.00  
2015 April           1001.13  
2015 May             1503.38  
2015 June            2006.76  
2015 July            2511.28

但我的输出看起来像这样:

                 Total  
Month            Accumulated  
------           -----------  
2015 March            500.00  
2015 April            1001.13  
2015 May              1503.38  
2015 June             2006.76  
2015 July             2511.28

我需要在右侧均匀排列数字。我似乎无法使用正确的理由让它更接近我需要的东西。我希望这里的某个人可能有一个我忽略的简单修复。目前,这就是这条线的写法:

cout << setw(5) << left << currentYear << setw(18) << currentMonthName << totalAccum << endl;

任何建议都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

我想出来了 - 需要添加一个&#34; &#34;这将作为占位符,然后做正确的理由:
cout << setw(5) << left << currentYear << setw(10) << currentMonthName << " " << right << setw(13) << totalAccum << endl;