Как напечатать всю таблицу в Visual Studio C ++? - PullRequest
0 голосов
/ 05 января 2012

Я создал программу бухгалтера, которая в основном позволяет пользователю добавлять строки и выполняет некоторые математические операции.Моя проблема в том, что мне нужно сделать так, чтобы он печатал таблицу на бумаге, когда пользователь нажимает кнопку.Как я могу это сделать?Пожалуйста, объясните это шаг за шагом, поскольку я новичок.

РЕДАКТИРОВАТЬ: Почему этот вопрос был отклонен.Что с ним не так?

1 Ответ

3 голосов
/ 05 января 2012

Основной инструмент вывода в C ++ - std::ostream, но он очень ограничен. Можно (но не всегда легко) форматировать таблицы, используя , если вывод использует шрифт фиксированной ширины, но это редко случается сегодня. Если вы можете обойтись без использования шрифта фиксированной ширины, манипуляторы iostream должно быть достаточно; определите ширину каждого столбца и установите ширина (и выравнивание - влево или вправо), используя соответствующие манипуляторы при выводе поля.

В противном случае вам придется определить, на каком языке разметки печатается вывод должен использовать & ndash; Postscript широко распространен, но далеко не универсален. Сделав это, вам придется перебирать строки, и в каждой строке по столбцам, генерируя правильную разметку для каждого. Если вы генерировать что-то вроде Postscript (или большинство языков разметки принтера), вам придется отслеживать абсолютные позиции, и, возможно, рассчитать ширина столбца и т. д., определяющая ширину каждого поля в зависимости от используемый шрифт и ширина каждого символа в этом шрифте. Более одной программы, которую я видел, выводили исходный текст LaTeX, а затем использовали system для вызова LaTeX (или pdflatex для создания PDF); это предполагает что LaTeX установлен на всех машинах, на которых программа будет работать, но LaTeX позаботится обо всех вышеперечисленных расчетах; вы просто выведите столбцы, разделенные '&', каждой строкой завершается двумя '\', с соответствующими окружающими командами, и LaTeX сделает все остальное. (Это решение я бы порекомендовал, если вы можете возможно навязать присутствие LaTeX. Как старый и не удобный как таковой, LaTeX по-прежнему генерирует лучший результат любой программы, которую я пробовал.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...