Ok, так что я должен сделать программу с выходом, который выглядит следующим образом:выравнивание вправо и влево, не зная строку ширины
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;
Каждый я нахожу имеет ряд там такие, как пять, но проблема в том, я не знаю, за то ширина будет пять. Я хочу подтолкнуть переменную вправо независимо от ее ширины. Кроме того, у меня уже есть пространство имен std; закодировано, поэтому нет необходимости в std :: и я кодировал #include, поэтому вместо sout() вместо cout.width()
----------- UPDATE ----- -----
Я понял! Спасибо, парни!
Обычно вы устанавливаете максимальное значение верхней границы. У вас есть какие-либо указания на максимальное количество цифр, которое нужно ожидать? В противном случае, я полагаю, вы всегда можете вычислить его самостоятельно –
вам нужно сделать два прохода через данные. один раз, чтобы выяснить максимальную длину строки, необходимую, а затем еще один проход для вывода –
Можете ли вы подождать, пока не получите все значения перед их печатью? – Galik