Программирование с C++ Builder



                  


Функция printf



В общем виде инструкция вызова функции printf выглядит так:

printf(УправляющаяСтрока, СпмсокПеременных)

Параметр УправляющаяСтрока задает способ отображения (формат) значений переменных, имена которых задает параметр список переменных. Помимо спецификаторов формата, параметр УправляющаяСтрока может содержать символы и управляющие последовательности.

Параметр Списокпеременных не является обязательным и представляет собой последовательность разделенных запятыми имен переменных, значения которых должны быть выведены.

Спецификатор формата задает вид вывода. Например, значение переменной типа float можно вывести как десятичное число с точкой (%f) или как число в формате с плавающей точкой (%е). В спецификаторе формата можно задать размер поля вывода (количество позиций экрана), а для формата f — размер поля для вывода целой и дробной частей числа. Если во время работы программы окажется, что выводимое значение не умещается в поле, указанном в спецификации, то для его вывода будет использовано столько позиций, сколько необходимо.

В табл. 7.1 приведены наиболее часто используемые спецификаторы формата. Необязательный параметр л, вместо которого надо подставить десятичное число, задает размер поля вывода; параметр m — размер поля для вывода цифр дробной части.

Таблица 7.1. Спецификаторы формата

Спецификатор
Тип переменной
Форма вывода
%nd
int
Десятичное со знаком
%n.mf
float или double
Дробное с десятичной точкой
%ne
float или double
Дробное в виде числа с плавающей точкой
%nc
char
Символ
%ns
  Строка


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

Следует обратить внимание на то, что компилятор не проверяет, соответствует ли количество переменных, значения которых должны быть выведены, количеству спецификаторов в управляющей строке, а также соответствие типа переменной — спецификатору. Например, если переменная х объявлена как float, то в инструкции printf ("x=%i", x) компилятор не обнаружит ошибку.

Если надо вывести символ, который не может быть помещен в строку вывода обычным образом путем набора на клавиатуре, — например, символ новой строки или двойная кавычка, которая в языке C/C++ используется для ограничения в тексте программы строк, — то вместо этого символа применяется специальная последовательность символов. Специальная (управляющая) последовательность начинается символом обратной наклонной черты. Во время работы программы символы специальной последовательности на экран не выводятся, а выполняется действие, обозначаемое этой последовательностью. В табл. 7.2 приведены наиболее часто используемые управляющие последовательности.

Таблица 7.2. Управляющие последовательности

Последовательность
Действие
\n
Переводит курсор в начало следующей строки
\r
Переводит курсор на следующую строку текущей колонки
\t
Переводит курсор в следующую позицию табуляции
\"
Выводит двойную кавычку
\\
Выводит обратную наклонную черту
\0xШестнадцатеричноеЧисло
Выводит символ, код которого указан


Для вывода на экран сообщений часто используют функцию puts, которая, в отличие от printf, после вывода автоматически переводит курсор в начало следующей строки. У функции puts один параметр — сообщение. В простейшем случае в качестве параметра функции puts используется строковая константа. Например, функция

puts("У лукоморья дуб зеленый,ХпЗлатая цепь на дубе том.")

выводит две строчки стихотворения, каждую на отдельной строке, и переводит курсор в начало следующей строки.

Чтобы вывести цветной текст, надо использовать функции cprintf и cputs. Они ничем не отличаются от рассмотренных ранее printf и puts, за исключением того, что цвет символов, выводимых этими функциями, можно задать, вызвав функцию textcolor, а цвет фона — textbackground.

В общем виде инструкции вызова указанных выше функций выглядят так:
textcolor(Цвет) ; 
textbackground(Цвет) ;

Параметр цвет — параметр целого типа, в качестве которого обычно используют одну из именованных констант (табл. 7.3).

Таблица 7.3. Константы, в качестве параметра цвет

Цвет
Константа
Значение константы
Черный
BLACK
0
Синий
BLUE
1
Зеленый
GREEN
2
Бирюзовый
CYAN
3
Красный
RED
4
Сиреневый
MAGENTA
5
Коричневый
BROWN
6
Светло-серый
LIGHTGRAY
7
Серый
DARKGRAY
8
Голубой
LIGHTBLUE
9
Светло-зеленый
LIGHTGREEN
10
Светло-бирюзовый
LIGHTCYAN
11
Алый
LIGHTRED
12
Светло-сиреневый
LIGHTMAGENTA
13
Желтый
YELLOW
14
Белый (яркий)
WHITE
15


Следует обратить внимание на то, что в качестве параметра функции textcolor можно использовать символьные константы со значением от О до 15, а в качестве параметра функции textbackground — только от 0 до 7.

При выводе на экран весьма полезна функция cirscr, которая очищает экран, закрашивая его цветом фона, установленным функцией textbackground.

Функции textcolor, textbackground, cirscr и приведенные выше константы объявлены в файле conio.h, поэтому, чтобы они были доступны, в текст

Программы нужно включить директиву #include <conio.h>.

Назад Содержание Вперед