Есть ли способ использовать setw() для отображения правильно выровненной таблицы с фиксированной шириной столбцов?

cout <<endl<< "Game" << setw(15) << "Price" << setw(15) << "Discount" << setw(21) << "DiscountPrice" << setw(15) << "Action" << endl;
for (j = 0; j < 5; j++)
{
    cout << games[j].gname << setw(10) << games[j].gprice << setw(10) <<games[j].discountprc<< "%" << setw(10)<<games[j].gprice-(games[j].gprice)*(games[j].discountprc)/100;
}

вывод должен быть

Game          Price       Discount     Discountprice     Action
Stealth         144            75%                36     Buy
..
..
..

Столбцы с названием игры и рекомендуемыми действиями должны быть выровнены по левому краю. Столбцы «Цена», «Процент скидки» и «Цена со скидкой» должны быть выровнены по правому краю.


person JuanDoe    schedule 04.11.2020    source источник
comment
Пожалуйста, добавьте в вопрос полный ожидаемый результат, а также вывод, который производит ваша программа.   -  person cigien    schedule 04.11.2020
comment
Вы можете использовать << right для выравнивания значения по правому краю (а затем << left для возврата).   -  person Paul Sanders    schedule 04.11.2020