Выбор правильных средств вывода информации

      Комментарии к записи Выбор правильных средств вывода информации отключены

Когда вы планируете способ представления информации в вашей программе, обдумайте, какие именно функции наилучшим образом соответствуют вашим целям.

Чтобы вывести на экран обычный текст или символы, можно использовать функции puts() или putchar(). Так как эти функции не имеют никаких возможностей форматирования данных, они работают быстрее, и их коды занимают меньший объем на диске, чем коды функции printf(). Имея дело с функцией puts(), прежде всего проверьте, добавляет ли компилятор код «новая строка» автоматически. Если он не делает этого, а вы не проверите сразу, потом вам придется потратить довольно много времени на редактирование программы.


Рис.18. Правила использования функции printf()

Кстати, при работе с функцией printf(), пропуск кода «новая строка» тоже является распространенной оплошностью среди начинающих программистов.

Функция printf() работает медленнее и требует большего объема памяти, но она идеально подходит в тех случаях, когда вам требуется выводить числовые данные, форматировать строки или комбинировать текст и числовые переменные в одной строке. Работая с функцией printf(), следует тщательно следить за тем, чтобы указатели формата соответствовали литералам, константам и переменным в списке данных. Рис.18 иллюстрирует наиболее важные моменты, необходимые, чтобы правильно написать инструкцию, использующую функцию printf().

Вывод в Си++

Все обсуждавшиеся ранее приемы программирования относятся к выводу данных как в языке Си, так и Си++. Однако язык Си++ имеет дополнительный способ вывода данных всех типов.

В Си++ существует стандартный поток вывода cout, позволяющий в сочетании с двумя символами «меньше»

(Если у вас есть компилятор Си++, посмотрите документацию к нему. Не исключено, что необходим специальный файл заголовков для того, чтобы иметь возможность использовать преимущества стандартного потока вывода cout и стандартного потока ввода cin. Для некоторых компиляторов, например, необходимо включить файл STREAM.H с помощью директивы #include в начале программы.

___________________________
Рис.19. Стандартный поток вывода cout

Структура инструкции, использующей cout, показана на рис.19. После cout надо поставить два знака

. Они указывают cout отобразить помещенную после них информацию. Информация может быть представлена в виде литерала (тогда ее заключают в кавычки) либо имени константы или переменной.

Рассмотрим инструкцию cout

При ее выполнении произойдет вывод на дисплей строки, заключенной в кавычки. Инструкция

int count;count = 4509;cout отобразит значение переменной с именем count — число 4509.


Рис.20. Вывод нескольких аргументов с помощью cout

Используя один стандартный поток вывода cout, можно отобразить несколько аргументов. Между собой аргументы разделяются операторами вставки, как это продемонстрировано на рис.20. Например, инструкция

int age;age = 43;cout отображает текст Вам исполнилось 43 года.

Стандартный поток вывода cout отображает каждый пункт, указанный с помощью оператора вставки, в том порядке, в каком они записаны в инструкции.

Так же, как и функция printf(), cout не добавляет никаких команд новой строки после отображения данных. Чтобы перейти к новой строке, там, где вы хотите ее начать, надо добавить управляющий код \n, как это показано на рис.20.

Замечания поСи++
Одна из особенностей языка Си++ — такназываемая перегрузка —делает необязательным использование указателей формата. В отличие отфункции printf(), которая требует обязательного указания формата данных,cout при передаче параметров сам определяет формат на основании типаполучаемых данных. Этот процесс и называется перегрузкой.

Проектирование программы

Вывод, то есть отображение информации на экране, принтере или каком-либо другом устройстве, является важнейшей составляющей любой программы, так что планировать вывод необходимо самым тщательным образом.

Начните программу с вывода инструкций, которые объясняют цель ее создания:

puts(Добро пожаловать\n);puts(Эта программа рассчитывает платежи \n);puts(Введите сумму займа,\n);puts(проценты по закладным и срок выплаты в годах.\n);

Когда вам нужно вывести результат, делайте информацию максимально доступной для чтения и понимания:

printf(Основные месячные выплаты: %7.2f\n, princ);printf(Проценты: %7.2f\n, interest);printf(Общие месячные выплаты: %7.2f\n, total);

Дополнительные пробелы между двоеточиями и указателями формата, выравнивание указателей и указатели сами по себе приводят к тому, что числовые значения выравниваются следующим образом:

Основные месячные выплаты: 256.25Проценты: 92.12Общие месячные выплаты: 34.37

Такой способ представления информации кажется более удобным, чем, например, следующий:

printf(%f %f %f, prins, inter, total);

в результате чего имеем:

256.25 92.12 34.37

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

В табл.2 подведен краткий итог всем способам вывода данных, которые обсуждались выше.

Таблица 2. Средства вывода информации в языке Си/Си++.

Вопросы
  1. Что такоевывод?
  2. Какие три типааргументов можно использовать с функцией puts()?
  3. Какие три типааргументов можно использовать с функцией putchar()?
  4. Что такоеescape-последовательности?
  5. В чемзаключаются различия между escape-последовательностями \n и \r?
  6. Как вывести наэкран символ «кавычка»?
  7. Из каких двухчастей состоит список параметров функции printf()?
  8. Какие преимуществаимеет функция printf() по сравнению с puts()?
  9. Что такоеуказатель формата?
  10. Как вывести наэкран значение числовой переменной?
Упражнения
  1. Напишитепрограмму вывода вашего имени и адреса на экран с использованием функцииputs().
  2. Напишите программувывода вашего имени и адреса на экран с использованием функции printf().
  3. Напишитефункцию puts(), которая выводит слово «Заглавие» в середине экрана.Ширина экрана 80 символов.
  4. Напишитефункцию printf(), которая выводит слово «Страница» с правой стороныэкрана.
  5. Напишитефункцию printf(), которая выводит значения следующих переменных:

float length, width, height, volume;

  1. Программадолжна отображать имя и возраст субъектов. Напишите функцию printf(),которая выводила бы значения переменных:

char name[12]; int age;

  1. Программасодержит следующие переменные:

сhar item[] = Дискеты; float cost = 3.55; float markup = 0.75;Напишите функцию printf(), которая выводитна экран следующие сообщения: Наименование товара: Гибкий диск Цена за 1 упаковку: 3.55 Наценка: 0.75Обратите внимание на выравнивание.

  1. Программасодержит следующую переменную:

int count = 30;Используя значение переменной count длявывода числа в последней строке, напишите программу, которая подает звуковойсигнал и выводит на экран следующее сообщение: Внимание! Внимание! Внимание! Внимание!Нежелательное отклонение параметров среды.У вас есть 30 секунд, чтобы покинуть помещение.

Статьи к прочтению:

СРОЧНО. Путин приказал начать вывод российских войск из Сирии


Похожие статьи:

  • Вывод на экран средствами dos

    DOS предоставляет следующие возможности вывода текстовой информации на экран: -обращение к экрану как к файлу, с помощью прерывания DOS Int 21h с…

  • Ввод/вывод информации на экран

    Система ввода/вывода Си++ действует через так называемые потоки (streams). Поток ввода/вывода – это логическое устройство, которое выдает и принимает…