Как вывести данные таблицей c++

при вводе данных структура колонок сбивается, не могу найти в интернете как сделать аккуратно всё. Может подскажите, как вообще работает вот это : %19s | %11.2lf | %5d | %17s |\n

void print_goods(good *goods, int size) {
    printf("+---------------------+-------------+------------+-----------+------------+|------------+------------+------------+------------|\n");
    printf("|         name        |    price    |  count     |  genre    |  developer  |    year    +   min_cpu  | min_ram    |   min_hdd  | \n");
    printf("+---------------------+-------------+------------+-----------|------------+|------------+------------+------------+------------|\n");

    if (size == 0)
        printf("|            No goods was added...          |\n");

    for (int i = 0; i < size; i++)
        printf("| %19s | %11.2lf | %5d | %17s |\n", goods[i].name, goods[i].price, goods[i].count,goods[i].title);

    printf("+---------------------+-------------+------------+-----------|------------+|------------+------------+------------+------------|\n");
}

Ответы (0 шт):