Практика программирования (Бейсик, Си, Паскаль)

       

Вывод числовых результатов


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

В QBasic для этой цели служит оператор PRINT USING, совмещающий в себе и строку с описанием формата и список выводимых значений:

PRINT USING "А=##.## B=### С=#.####^^^^"; А,В,С

Аналогичные средства имеются и в Си:

printf ("A=%6.3f B=%3d С=%10.4е",А,В,С);

При выводе в поток, когда к Си-программе подключаются заголовочные файлы iostream.h и iomanip.h, тоже существует возможность управлять форматом выводимых данных:

cout << "А=" << setw(6) << setprecision(5) << А;

Несколько скромнее выглядит управление форматом в Паскале:

write('А=',А:6:3,"В=',В:3,'С=',С:10);

Среди форматных спецификаторов в Си есть дополнительные возможности, отсутствующие в QBasic и Паскале. Например:

printf("%4x %6о",х,у);

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

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



Содержание раздела