【发布时间】:2015-09-14 18:46:49
【问题描述】:
好的,所以我必须制作一个输出如下所示的程序:
Gross Amount: ............... $3575.00
Federal Tax: ................ $ 536.25
State Tax: .................. $ 125.13
Social Security Tax: ........ $ 205.56
Medicare/Medicaid Tax: ...... $ 98.31
Pension Plan: ............... $ 178.75
Health Insurance: ........... $ 75.00
Net Pay: .................... $2356.00
左边的字符串是固定的,我只需输入它们,但右边的总数是变量。我需要找到一种方法来使右侧的变量始终设置在右侧,但是无法告诉变量的宽度(总数是多少位),因为这取决于用户。我看到的所有答案总是把它当作你知道它会有多宽。这是一个例子:
cout << setw(5) << right << x << endl;
我找到的每个人都有一个数字,比如五,但问题是,我不知道宽度是五。我想把变量推到右边,不管它的宽度是多少。另外,我已经有了 using namespace std;编码,所以不需要 std:: 并且我已经编码了 #include 所以我使用 setw() 而不是 cout.width()
-----------更新----------
我明白了!谢谢大家!
【问题讨论】:
-
你通常设置一个最大的上界值。您是否有任何关于预期的最大位数的指示?否则我想你总是可以自己计算的
-
您必须对数据进行两次传递。一次找出必要的最大字符串长度,然后另一遍进行输出
-
能否等到收到所有值后再打印?
-
回复:
using namespace std;:stackoverflow.com/questions/1452721/… -
我没有最大设置,但我不知道我的教授是否允许。如果我确实设置了一个可以修复它的最大值,因为我可以让 setw() 与我的最大值相同,对吧?